Technology foundation

The DialogueTech Virtual Assistant rests on a solid technology platform. Two of the company founders - Gregor Jonsson and Hubert Lehmann - did much of the early scientific work in computational linguistics - Gregor in data modelling and Hubert in linguistics. Both were employed at IBM in the 80's and 90's and produced several scientific works, e.g.:

  • Gregor Jonsson: A conceptual schema facility based on conceptual information modelling and logic programming
  • Hubert Lehmann: Linguistische Modellbildung und Methodologie. Linguistische Arbeiten
  • Hubert also had an important colleague - Magdalena Zoeppritz - author of Syntax for German in the User Specialty Languages System

Their combined efforts to build a Natural Language Query product led to the IBM patent Natural language analyzing apparatus and method.

After IBM abandoned the NLQ project, further scientific work has been done, e.g. the doctoral thesis by Karl Lundstedt A Computational Grammar for Swedish Noun Phrases in a Natural Language Interface to Databases.

From the know-how of the 80's and 90's DialogueTech developed a first entity-relationship-based NLQ product launched in 2004. Based on the experiences from numerous commercial and academic projects we are now proud to launch our Virtual Assistant SDK - a complete suite of tools to develop a leading-edge Virtual Assistant.

Development process

The development of a Virtual Assistant with the DT SDK is done in four steps:

  1. A database is built (if it does not exist already) as a repository for "answers" (the information a user can seek)
  2. From the database, a domain-model is built. Building the domain model involves three steps
    1. Entities are created. Entities are the words used to describe the database table columns
    2. Relationships between the entities are defined and linguistic information is added
    3. Each entity gets an SQL statement
  3. Once the domain model is complete it is compiled. Compilation involves integrating the domain file with the SDK linguistic analyzer, a full grammar and dictionary and modules that are necessary to create a fully functional executable file
  4. Once the executable is created it can be tested and verified.

After the executable has satisfactory performance (ability to answer enough questions/formulations) it can be integrated into a web-page or integrated with voice recognition products (e.g. IVR)




SDK Components

Application Development Tool


Analyzer and log-files