Patent ID: 7562009
Filing Date: 2009-07-14
Classification: G06F,Y10S

Abstract:
1. A system for natural language processing, comprising: (1) an Input Processor for receiving an input of text or documents and converting the text or documents into a processable data form; (2) a Linguistic Core in communication with the Input Processor, for processing the processable data form provided by the Input Processor to the Linguistic Core, the Linguistic Core comprising: a) a Blackboard data structure, for providing a shared knowledge repository over which a collection of natural language Agents can execute natural language processes on the processable data form, b) a collection of natural language Agents in communication with the Blackboard, each Agent capable of providing a processing resource that may be usable for serving requests to execute a natural language process on the processable data form, and of determining, based on their respective capabilities and examination of the Blackboard, what requests for processing they can best serve, and c) a Dispatcher, in communication with Agents, among the collection of natural language Agents, that register with the Dispatcher, for coordinating the work of the registered Agents, for maintaining a high-level description of tasks to be completed to provide a solution to a given natural language engineering problem, and for determining the registered Agents that best provide a solution to the given natural language engineering problem; and (3) an Output Processor for converting the output of the Linguistic Core into a desired form, such that the input of text or documents is processed to generate results of the desired form; wherein Agents or the Input Processor post Attributes to the Blackboard; wherein the Attributes comprise a name and a value; wherein the value can be Boolean, integer, floating point number, Annotation, Annotation Reference, or string; wherein an Annotation is used to specify information about a portion of an input document or text; and wherein information in an Annotation comprises Primary Type, Secondary Type, Span Start, Span End, and Attributes.