Math-Bridge Edit Authoring
Transcript of Math-Bridge Edit Authoring
Joint Math-Bridge TrainingProgram
Michael Dietrich (DFKI)Source Based Authoring Basics
10.07.2015 Saarbrücken
Learning Objects
• In Math-Bridge: Atomic units of knowledge• Reusable– Adressable– Authors have to keep reusablity in mind
• Can be structured– Table Of Contents (Authors/Users)– Theories and Collections (Authors)
• Are typed
Different Learning Objects (i)
• Axiom: statement on elements of a theory• Definition: A statement, defining the meaning
of some elements of a theory• Assertion: A statement on elements of a
theory. Different types available “theorem”, “lemma”, etc.
• Proof: Proof of an assertion
Different Learning Objects (ii)
• Example: an Example• Exercise: an exercise training some
competencies of a LO• Omtext: different types of text elements i.e.
“introduction”, “conclusion”, “motivation” …• Ppmethod: Special type for mathematical
methods . Rarely used
Hands-On
• Example content on straight lines• Annotate example content– Decompose in learning objects– Specify type of learning objects
• Types:– Axiom, Definition, Assertion, Proof, Example,
Exercise, Omtext
Relations between learning Objects
• Obviously there are relations between learning objects like example for an axiom.
• Modelling by relations.• The for-relation is an important one.• It represents that one LO is supporting
another
Example 1+1 Definition TermFOR
Differentiation Of Learning Objects
• For-relation partitions learning objects– Learning objects, which can occur “standalone”
• Axiom, Definition, …• Terminology: Concepts
– Learning objects, which support other LOs:• Example, Exercise, …• Terminology: Satellites
• Often we have:Satellite ConceptFOR
Hands-On
• Identify for-relations in example content• Content is separated in two layers
Content layer
Satellite layer
Definition Axiom Assertion Proof
OmtextExerciseExample
FOR
Problem: Abstract Concepts
• Some (mathematical) concepts can be defined in different ways
• Logarithm ln(x)…– …as primitive of x-1
– …as Inverse of ex
• Solution: Symbol Learning Object
• Symbols represents abstract concepts.
Symbols
• Symbol learning object that represents an atomic (mathematical) concept being part of a formal theory
• Example:
• New layer of learning objects
Ln(x)
Defined using x-1 Defined using ex
For For
Layers of Learning Objects
Concept Layer
Satellite Layer
Definition Axiom Assertion Proof
OmtextExerciseExample
FOR
Abstract Layer Symbol
FOR
Pyramid of Learning ObjectsSymbolsConcepts
Satellites
Hands-On
• Find symbols and corresponding for-relations
One More Relation
• We cannot say currently:– Addition is prerequisite for multiplication
• Solution: New relation domain-prerequisite • Used to specify prerequisites• Used in MathBridge:– Search– Tutorial Component (Course Generation)– User model
Hands-On
• Find all domain-prerequisite relations in example content
Summary (i)
• Saw learning objects:
Content Layer
Satellite Layer
Definition Axiom Assertion Proof
OmtextExerciseExample
Abstract Layer Symbol
Summary (ii)
• Saw two most important Math-Bridge relations:
– For• Learning object is supporting another
– domain-prerequisite• Learning object is prerequisite of another
Representation of Learning Objects
• Knowledge Representation – Discipline of AI• In our case – a lot of markup• Format must be reuseable• Format should separate content from
presentation• Different output formats should be possible
– XML is very suitable here
Using XML for Representation
• Can store and annotate data in a structured way
– <adresse art=“postanschrift”>• <strasse>Stuhlsatzenhausweg</strasse>• <hausnummer>3</hausnummer>• <plz>66123</plz>• <ort>Saarbrücken</ort>
– </adresse>
XML language Elements
• Tags– ‘Markup’– Provide structure to documents– <adresse> … </adresse>
• Attributes– Used inside tags– <adresse art=‘…’>…
• Disadvantage : is unreadable fast
Hands-On
• Write as XML
Differences
• Hands-on shows: Rules are needed
• Can define language using DTD, RNG, XSD
• Many projects for mathematical markup
• Have different goals
• Use different technologies
Representation of Mathematics
• Syntactic:– LaTeX, MathML Presentation
• Semantic: – OpenMath, MathML Content
• Formal:– HELM, TPTP
• OMDoc is a language basing on OpenMath• Extended for Math-Bridge
OMDoc – Learning objects
• Representing Learning Objects using OMDoc:
<definition id="def_interval”><CMP>Eine Teilmenge der reellen Zahlen heißt
Intervall.</CMP></definition>
• All learning object types have a similar structure in OMDoc
OMDoc: for
• For-relation can be given as an attribute:
<definition id="def_interval” for=“sym_interval”><CMP>Eine Teilmenge der reellen Zahlen heißt
Intervall.</CMP></definition>
OMDoc: domain-prerequisite<definition id="def_interval” for=“sym_interval”>
<metadata><extradata>
<relation type=“domain-prerequisite”><ref xref=“sym_reals”/>
</relation>
</extradata></metadata><CMP>Eine Teilmenge der reellen Zahlen heißt Intervall.</CMP>
</definition>
Formulæ in OMDoc (forecast)
• OMDoc: Extension of OpenMath• Formulæ coded using OMDoc• 1+1 in OpenMath:
<OMOBJ> <OMA> <OMS cd="arith1" name="plus”/> <OMI>1</OMI> <OMI>1</OMI> </OMA></OMOBJ>
Polynomial in OMDoc<OMOBJ> <OMA> <OMS cd="relation1" name="eq" /> <OMA> <OMS name="plus" cd="arith1" /> <OMA> <OMS name="power" cd="arith1" /><OMV name="X" /><OMI>2</OMI> </OMA> <OMA> <OMS cd="arith1" name="power" /><OMV name="Y" /><OMI>3</OMI> </OMA> </OMA> <OMI>0</OMI> </OMA></OMOBJ>
QMath
• Produces OMDoc from text files• Instead
– <OMOBJ><OMA><OMS cd="arith1” name="plus”/><OMI>1</OMI><OMI>1</OMI></OMA></OMOBJ>
– 1+1• Polynomial from previous slide is: X^2+Y^3=0• Formulæ in text:– Find solutions of $X^2+Y^3=0$.
Structuring Of Learning Objects
• Constructs for structuring LOs:– Theory• Set of strongly related learning objects• Like ‘Add fraction’, ‘Multiply fractions’
– Collection• Set of Theories, with strong relations• Example: ‘Fractions Arithmetics’
• OMGroup used to present Los in a structured way.
Tools for Omdoc+QMath
• Main Development-tool: JEditOQMath– Basing on Jedit an open source editor by Slava
Pestov• Contains many useful plugins• Controls QMath functionalities– Templates for learning objects– Communikation with Math-Bridge-server– Integrates Qmath– Direct feedback on errors
Get jEdit
• Copy jEdit.zip to HDD
• Unpack
• Start by– java –Xmx512M –jar jedit.jar& (*nix, Mac)– Doubleclick jedit.jar
jEdit Config
• Configure OQMath Plugin
• Set Math-Bridge URL– Plugins – Plugin Options...– OQMath Jedit– Enter URL
• Specify Math-Bridge location– analogue
jEdit Test
• OQMath – Start a collection
• Provide a name
• Let the magic happen
• Restart Math-Bridge
• Visit new collection with browser