diff --git a/lib/resource-1.0/doc/index.html b/lib/resource-1.0/doc/index.html index a12268029..8e1ca7fb1 100644 --- a/lib/resource-1.0/doc/index.html +++ b/lib/resource-1.0/doc/index.html @@ -7,78 +7,117 @@
+The GF Resource Grammar Library defines the basic grammar of +ten languages: +Danish, English, Finnish, French, German, +Italian, Norwegian, Russian, Spanish, Swedish. +
+
Notice. This document concerns the API v. 1.0 which has not
-yet been "officially" released. You can find the beginnings of it
-in GF/lib/resource-1.0/. See
-resource-1.0/README for
-details on how it differs from previous versions
-and how much has been implemented
+yet been "officially" released. The release will be made in combination
+with a new version of GF itself, since the grammars use new features
+not available in GF 2.4.
+
+V. 1.0 is not yet available for Russian and Danish: for them, +we refer to v. 0.9.
-
-The simplest way to get the library is to install the precompiled version
-lib/compiled.tgz. Just do
+Janna Khegai (Russian modules, forthcoming),
+Bjorn Bringert (many Swadesh lexica),
+Carlos Gonzalia (Spanish cardinals),
+Partik Jansson (Swedish cardinals),
+Aarne Ranta.
- cd GF/lib - tar xvfz compiled.tgz -
-There is no need to link application grammars to the source directories of the -library. Use one (or several) of the following packages instead: +We are grateful for contributions and +comments to several other people who have used this and +the previous versions of the resource library, including +David Burke, +Lauri Carlson, +Gloria Casanellas, +Karin Cavallin, +Hans-Joachim Daniels, +Kristofer Johannisson, +Anni Laine, +Wanjiku Ng'ang'a, +Jordi Saludes. +
+ ++The GF Resource Grammar Library is open-source software licensed under +GNU General Public License. See the file LICENSE for more +details. +
+ ++Coverage, for each language:
lib/alltenses the complete ground-API library with all forms
-lib/present a pruned ground-API library with present tense only
-lib/mathematical special-purpose API for mathematical applications
-lib/multimodal special-purpose API for multimodal dialogue applications
+
-Notice, however, that both special-purpose APIs share modules with
-present. It is therefore not a good idea to use them in combination with
-alltenses.
+Organization:
-It is advisable to use the bare package names in paths pointing to the
-libraries. Here is an example, from examples/tram:
+Presentation:
- --# -path=.:present:multimodal:mathematical:prelude --
-To reach these directories from anywhere, set the environment variable
-GF_LIB_PATH to point to the directory GF/lib/. For instance,
-I have the following line in my .bashrc file:
-
- export GF_LIB_PATH=/home/aarne/GF/lib -- - -
gfdoc for generating HTML from grammars
+
This API is accessible by both present and alltenses.
The API is divided into a bunch of abstract modules.
@@ -110,8 +149,8 @@ The documentation of the individual modules:
+The API is the same as for the full ground API, but the compiler
+has ignored all verb and sentence tenses except the present.
+Lines ignored in the source files are marked by --# notpresent.
+The result is a smaller and more efficient grammar, which is still
+sufficient for many applications.
+
+The simplest way to get the library is to install the precompiled version
+lib/compiled.tgz. Just do
+
+ cd GF/lib + tar xvfz compiled.tgz ++
+There is no need to link application grammars to the source directories of the +library. Use one (or several) of the following packages instead: +
+lib/alltenses the complete ground-API library with all forms
+lib/present a pruned ground-API library with present tense only
+lib/mathematical special-purpose API for mathematical applications
+lib/multimodal special-purpose API for multimodal dialogue applications
+
+Notice, however, that both special-purpose APIs share modules with
+present. It is therefore not a good idea to use them in combination with
+alltenses.
+
+It is advisable to use the bare package names in paths pointing to the
+libraries. Here is an example, from examples/tram:
+
+ --# -path=.:present:multimodal:mathematical:prelude ++
+To reach these directories from anywhere, set the environment variable
+GF_LIB_PATH to point to the directory GF/lib/. For instance,
+I have the following line in my .bashrc file:
+
+ export GF_LIB_PATH=/home/aarne/GF/lib ++ + +
+If you have done make in lib/resource-1.0, you will have
+a file langs.gfcm. This file can be used with fast startup for
+tasks such as treebank generation:
+
+ > i -nocf langs.gfcm + > gr -cat=S -cf -number=10 | tb ++
+The -nocf flag saves startup time and memory by preventing the
+creation of context-free parse grammars.
+The resource grammar libraries do not support
+parsing very well. While it is theoretically possible to parse with any
+GF grammar, the resource grammars are so abstract and complex that
+building the actual parser in memory may just need too much resources
+to succeed.
+
+An exception is LangEng. It is actually feasible to parse with
+both alltenses/LangEng and present/LangEng - the latter being
+much faster than the former. The -mcfg flag (multiple context-free grammar)
+must be used:
+
+ p -lang=LangEng -mcfg "this man is old" ++
+Parsing with the -mcfg flag takes a few extra seconds the first time during
+each session, but gets faster at later runs.
+
+These applications are meand to serve as starting points for +new applications, showing how the libraries can be used in +typical situations. +
+ ++The examples/bronzeage +grammar set implements a language fragment +based on the Swadesh list of 200 words. It is useful for +things like language training. +
+ ++The examples/tram +grammar set implements the user grammar of a +multimodal dialogue system concerning public transport. +Its purpose is to serve as a prototype for applications in the +TALK project. +
+ ++The examples/animal +grammar set implements some queries about animals. +Its purpose is to serve as a prototype for example-based +grammar writing. +
+ ++Grammars as Software Libraries. Slides +with background and motivation for the resource grammar library. +
++How to write resource grammars. Helps you +start if you want to add another language to the library. +
++Parametrized modules for Romance languages. +Slides explaining some ideas in the implementation of +French, Italian, and Spanish. +
++Grammar writing by examples. +Slides showing how the method is used. +
++Multimodal Resource Grammars. +Slides showing how to use the multimodal resource library. +
diff --git a/lib/resource-1.0/doc/index.txt b/lib/resource-1.0/doc/index.txt index fcaf2435c..37a1a40ff 100644 --- a/lib/resource-1.0/doc/index.txt +++ b/lib/resource-1.0/doc/index.txt @@ -9,52 +9,72 @@ Last update: %%date(%c) %!target:html +The GF Resource Grammar Library defines the basic grammar of +ten languages: +Danish, English, Finnish, French, German, +Italian, Norwegian, Russian, Spanish, Swedish. + **Notice**. This document concerns the API v. 1.0 which has not -yet been "officially" released. You can find the beginnings of it -in [``GF/lib/resource-1.0/`` ..]. See -[``resource-1.0/README`` ../README] for -details on how it differs from previous versions -and how much has been implemented +yet been "officially" released. The release will be made in combination +with a new version of GF itself, since the grammars use new features +not available in GF 2.4. + +V. 1.0 is not yet available for Russian and Danish: for them, +we refer to [v. 0.9 ../../resource/]. + + +==Authors== + +Janna Khegai (Russian modules, forthcoming), +Bjorn Bringert (many Swadesh lexica), +Carlos Gonzalia (Spanish cardinals), +Partik Jansson (Swedish cardinals), +Aarne Ranta. + +We are grateful for contributions and +comments to several other people who have used this and +the previous versions of the resource library, including +David Burke, +Lauri Carlson, +Gloria Casanellas, +Karin Cavallin, +Hans-Joachim Daniels, +Kristofer Johannisson, +Anni Laine, +Wanjiku Ng'ang'a, +Jordi Saludes. + + +==License== + +The GF Resource Grammar Library is open-source software licensed under +GNU General Public License. See the file [LICENSE ../LICENSE] for more +details. + + +==Scope== + +Coverage, for each language: +- complete morphology +- lexicon of the ca. 100 most important structural words +- test lexicon of ca. 300 content words +- representative fragment of syntax (cf. CLE (Core Language Engine)) +- rather flat semantics (cf. Quasi-Logical Form of CLE) + + +Organization: +- top-level (API) modules +- Ground API + special-purpose APIs +- "school grammar" concepts rather than advanced linguistic theory + + +Presentation: +- tool ``gfdoc`` for generating HTML from grammars +- example collections -==Using the library== - -The simplest way to get the library is to install the precompiled version -[``lib/compiled.tgz`` ../../compiled.tgz]. Just do -``` - cd GF/lib - tar xvfz compiled.tgz -``` -There is no need to link application grammars to the source directories of the -library. Use one (or several) of the following packages instead: - -- ``lib/alltenses`` the complete ground-API library with all forms -- ``lib/present`` a pruned ground-API library with present tense only -- ``lib/mathematical`` special-purpose API for mathematical applications -- ``lib/multimodal`` special-purpose API for multimodal dialogue applications - - -Notice, however, that both special-purpose APIs share modules with -``present``. It is therefore not a good idea to use them in combination with -``alltenses``. - - -It is advisable to use the bare package names in paths pointing to the -libraries. Here is an example, from ``examples/tram``: -``` - --# -path=.:present:multimodal:mathematical:prelude -``` -To reach these directories from anywhere, set the environment variable -``GF_LIB_PATH`` to point to the directory ``GF/lib/``. For instance, -I have the following line in my ``.bashrc`` file: -``` - export GF_LIB_PATH=/home/aarne/GF/lib -``` - - - -==The language independent API== +===The language independent ground API=== This API is accessible by both ``present`` and ``alltenses``. The API is divided into a bunch of ``abstract`` modules. @@ -83,7 +103,7 @@ The documentation of the individual modules: - [Lang gfdoc/Lang.html]: the main module comprising all the others -==The language-dependent APIs== +===The language-dependent APIs=== - [ParadigmsEng gfdoc/ParadigmsEng.html]: English lexical paradigms - [ParadigmsFin gfdoc/ParadigmsFin.html]: Finnish lexical paradigms @@ -103,17 +123,145 @@ The documentation of the individual modules: - [IrregSwe gfdoc/IrregSwe.gf]: Swedish irregular verbs -==Special-purpose APIs== +===Special-purpose APIs=== -===Multimodal=== +====Present==== + +The API is the same as for the full ground API, but the compiler +has ignored all verb and sentence tenses except the present. +Lines ignored in the source files are marked by ``--# notpresent``. +The result is a smaller and more efficient grammar, which is still +sufficient for many applications. + + +====Multimodal==== - [Multimodal gfdoc/Multimodal.html]: main module for multimodal dialogue systems - [Demonstrative gfdoc/Demonstrative.html]: demonstrative noun phrases and adverbs -===Mathematical=== +====Mathematical==== - [Mathematical gfdoc/Mathematical.html]: main module for mathematical language - [Predication gfdoc/Predication.html]: predication with verbs, adjectives, etc - [Symbol gfdoc/Symbol.html]: symbols and numbers in text + + +==Using the library== + +===The compiled version=== + +The simplest way to get the library is to install the precompiled version +[``lib/compiled.tgz`` ../../compiled.tgz]. Just do +``` + cd GF/lib + tar xvfz compiled.tgz +``` +There is no need to link application grammars to the source directories of the +library. Use one (or several) of the following packages instead: + +- ``lib/alltenses`` the complete ground-API library with all forms +- ``lib/present`` a pruned ground-API library with present tense only +- ``lib/mathematical`` special-purpose API for mathematical applications +- ``lib/multimodal`` special-purpose API for multimodal dialogue applications + + +===Linking applications to libraries=== + +Notice, however, that both special-purpose APIs share modules with +``present``. It is therefore not a good idea to use them in combination with +``alltenses``. + + +It is advisable to use the bare package names in paths pointing to the +libraries. Here is an example, from ``examples/tram``: +``` + --# -path=.:present:multimodal:mathematical:prelude +``` +To reach these directories from anywhere, set the environment variable +``GF_LIB_PATH`` to point to the directory ``GF/lib/``. For instance, +I have the following line in my ``.bashrc`` file: +``` + export GF_LIB_PATH=/home/aarne/GF/lib +``` + + +===Using the libraries as top-level grammars=== + +If you have done ``make`` in ``lib/resource-1.0``, you will have +a file ``langs.gfcm``. This file can be used with fast startup for +tasks such as treebank generation: +``` + > i -nocf langs.gfcm + > gr -cat=S -cf -number=10 | tb +``` +The ``-nocf`` flag saves startup time and memory by preventing the +creation of context-free parse grammars. +The resource grammar libraries do //not// support +parsing very well. While it is theoretically possible to parse with any +GF grammar, the resource grammars are so abstract and complex that +building the actual parser in memory may just need too much resources +to succeed. + +An exception is ``LangEng``. It is actually feasible to parse with +both ``alltenses/LangEng`` and ``present/LangEng`` - the latter being +much faster than the former. The ``-mcfg`` flag (multiple context-free grammar) +must be used: +``` + p -lang=LangEng -mcfg "this man is old" +``` +Parsing with the ``-mcfg`` flag takes a few extra seconds the first time during +each session, but gets faster at later runs. + + +==Example applications== + +These applications are meand to serve as starting points for +new applications, showing how the libraries can be used in +typical situations. + +===Brozeage=== + +The [examples/bronzeage ../../../examples/bronzeage] +grammar set implements a language fragment +based on the Swadesh list of 200 words. It is useful for +things like language training. + + +===Tram=== + +The [examples/tram ../../../examples/tram] +grammar set implements the user grammar of a +multimodal dialogue system concerning public transport. +Its purpose is to serve as a prototype for applications in the +TALK project. + + +===Animals=== + +The [examples/animal ../../../examples/animal] +grammar set implements some queries about animals. +Its purpose is to serve as a prototype for example-based +grammar writing. + + +==More reading== + +[Grammars as Software Libraries gslt-sem-2006.html]. Slides +with background and motivation for the resource grammar library. + +[How to write resource grammars Resource-HOWTO.html]. Helps you +start if you want to add another language to the library. + +[Parametrized modules for Romance languages http://www.cs.chalmers.se/~aarne/geocal2006.pdf]. +Slides explaining some ideas in the implementation of +French, Italian, and Spanish. + + +[Grammar writing by examples http://www.cs.chalmers.se/~aarne/slides/webalt-2005.pdf]. +Slides showing how the method is used. + +[Multimodal Resource Grammars http://www.cs.chalmers.se/~aarne/slides/talk-edin2005.pdf]. +Slides showing how to use the multimodal resource library. +