-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Contact: seantrott at icsi.berkeley.edu Contact: vivek at berkeley.edu
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.
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.
- Integration-Friendly System for Natural Language Understanding
- Exploiting Deep Semantics for HRI
- Recognizing Intentions from Natural Language
- Natural Language Understanding and Communication for Multi-Agent Systems
- Natural Language for Human Robot Interaction
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.
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.
- Text-based Robot Demo
- Morse Robot Demo
- ROS Robot Demo
- ECG Workbench tutorial (TBD)
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.
- Repository Link
- Querying Tutorial Link
- FrameNet+ECG (Tutorial TBD, some documentation in code)