On the topic of “NLP-like search interface”: we could do it with Controlled Natural Language (CNL).
AFAIK, two leading approaches to CNL are:
- Attempto Controlled English (ACE) at ETH Zurich
- Grammatical Framework, described below
- Grammatical Framework, is a programming language for multilingual grammar applications. It is
- a special-purpose language for grammars, like YACC, Bison, Happy, BNFC, but not restricted to programming languages
- a functional language, like Haskell, Lisp, OCaml, Scheme, SML, but specialized to grammar writing
- a natural language processing framework, like LKB, XLE, Regulus, but based on functional programming and type theory
- a categorial grammar formalism, like ACG, CCG, but different and equipped with different tools
- a logical framework, like Agda, Coq, Isabelle, but equipped with concrete syntax in addition to logic
It is used in the www.molto-project.eu in which Ontotext participates, in particular for NLP searches and verbalization of painting data
Grammatical Framework: Programming with Multilingual Grammars
Grammars of natural languages are complex systems, and their computer implementation requires both programming skills and linguistic knowledge, especially when dealing with other languages than English. This book makes such tasks accessible for a wide range of programmers. It introduces GF (Grammatical Framework), which is a programming language designed for writing grammars, which may moreover address several languages in parallel. The book shows how to write grammars in GF and use them in applications such as tourist phrasebooks, spoken dialogue systems, and natural language interfaces. The examples and exercises address several languages, and the readers are guided to look at their own languages from the computational perspective.
- Slides for teaching the book chapter by chapter.
- Code examples. You can also download the complete example set as a compressed tar file, gf-book-examples.tgz
- GF Web IDE: build grammars in the cloud, without installing GF. .
GF can be used for building
- translation systems
- multilingual web gadgets
- natural-language interfaces
- dialogue systems
- natural language resources
Quite interesting demos:
Mechanics of the Grammatical Framework
Grammatical Framework (GF) is a well known theoretical framework and a mature programming language for the description of natural languages. The GF community is growing rapidly and the range of applications is expanding. Within the framework, there are computational resources for 26 languages created from different people in different organizations. The coverage of the different resources varies but there are complete morphologies and grammars for at least 20 languages. This advancement would not be possible without the continuous development of the GF compiler and interpreter.
- Krasimir Angelov is a former Ontotext employee
- he did his PhD student at the Department of Computer Science of Chalmers, working on the compiler and the interpreter of GF, authoring tools, and translation.
- He continues work as a postdoc funded by MOLTO, see Molto publications
- He is one of 3 current developers and maintainers of the Grammatical Framework: