Skip to content
Sean Trott edited this page Jul 8, 2016 · 35 revisions

Contact: seantrott at icsi.berkeley.edu Contact: vivek at berkeley.edu


Getting Started

Check out the getting started page for tips on what repositories you'll need for different purposes.

Disclaimer: Our system does rely on several other software packages. All system requirements are listed in the respective repositories. Although we've added installation instructions and tips on getting things compatible, we cannot control for version skew / software rot that occurs after the writing of this tutorial.

About

Natural Language Understanding (NLU) refers to the machine comprehension of language without human intervention; the machine receives language as input, and produces some action as output. The type of action ranges from robots carrying out a task (Trott, Appriou, Feldman, & Janin, 2015) to a machine performing metaphor analysis and inference about economic policies (Narayanan 1997).

We have devolped a general, modular system for natural language understanding (see below). The language-side (left-hand side) receives language as input, and produces a structured semantic representation of language called an n-tuple. This n-tuple is sent to the action-side (right-hand side), which uses it to carry out some sort of task for a given application. Although the nature of the task (and the corresponding API call) is dependent on the application, we believe the system is generalizable across domains, and can be retargeted with minimal additions to the language-side.

System Architecture

Papers

NOTE: Some of the papers use slightly different terminology and system diagrams, but the underlying structure and system flow is the same. For example, we are moving towards using the word "ActSpec" (Action Specification) instead of "n-tuple", since it is more informative, but the function is the same.

Policies

If you make a change to the core API, and think it should be integrated into the framework, please submit a pull request, and the repository owner can review it.

Tutorials

ECG Framework

ECG Grammars

ECG Workbench

ECG Robot Demo

FrameNet

We have also collaborated with the folks at FrameNet (https://framenet.icsi.berkeley.edu/fndrupal/) to build a system that can automatically hypothesize ECG constructions and schemas from FrameNet data.