Associative memory processing method for natural language parsing and pattern recognition
First Claim
1. A method of executing parsing algorithms on an associative memory processing system against a given grammar and input string, the grammar being comprised of a plurality of grammar rules, each of which has one left-hand side symbol, and zero or more right-hand side symbols, said method comprising the steps of:
- storing a plurality of grammar rules in a memory, according to numeric codes for the symbols of each grammar rule, and in an order of the grammar rules;
defining a predetermined parsing algorithm, and a numeric encoding of each of the parsing states used by the parsing algorithm, so that each such encoding, referred to as a parsing state representation, may be stored in one associative memory word so as to allow retrieval by multiple access patterns;
storing the parsing state representations generated by the algorithm in the associative memory means, and distinguishing unprocessed parsing states from those parsing states already processed by the algorithm;
accessing the associative memory means with a first retrieval condition for retrieval of unprocessed parsing states;
using parsing control means for the processing of unprocessed parsing states retrieved from the associative memory means, such processing including marking the current unprocessed parsing state as processed, and yielding potentially new unprocessed parsing states;
accessing the associative memory means with a second retrieval condition for testing the presence of a potentially new unprocessed parsing state in the associative memory, and if such is the case, inhibiting the writing of the potentially new unprocessed parsing state into the associative memory; and
accessing the associative memory means with further retrieval conditions for retrieving parsing states that meet certain criteria, required for processing of unprocessed parsing states and for optimizations of the processing to be performed.
0 Assignments
0 Petitions
Accused Products
Abstract
An associative memory processor architecture is disclosed for the fast and efficient execution of parsing algorithms for natural language processing and pattern recognition applications. The architecture consists of an associative memory unit for the storage of parsing state representations, a random access memory unit for the storage of the grammatical rules and other tables according to which the parsing is done, a finite state parsing control unit which embodies the chosen parsing algorithm, and a communications unit for communication with a host processor or external interface. The use of associative memory for the storage of parsing state representations allows the architecture to reduce the algorithmic time complexity of parsing algorithms both with respect to grammar size and input string length, when compared to standard software implementations on general purpose computers. The disclosed architecture provides for a fast and compact computer peripheral or system, particularly when physically realized in one or a small number of integrated circuit chips, and thus contributes to the technical feasibility, of real time applications in speech recognition, machine translation, and syntactic pattern recognition.
51 Citations
4 Claims
-
1. A method of executing parsing algorithms on an associative memory processing system against a given grammar and input string, the grammar being comprised of a plurality of grammar rules, each of which has one left-hand side symbol, and zero or more right-hand side symbols, said method comprising the steps of:
-
storing a plurality of grammar rules in a memory, according to numeric codes for the symbols of each grammar rule, and in an order of the grammar rules; defining a predetermined parsing algorithm, and a numeric encoding of each of the parsing states used by the parsing algorithm, so that each such encoding, referred to as a parsing state representation, may be stored in one associative memory word so as to allow retrieval by multiple access patterns; storing the parsing state representations generated by the algorithm in the associative memory means, and distinguishing unprocessed parsing states from those parsing states already processed by the algorithm; accessing the associative memory means with a first retrieval condition for retrieval of unprocessed parsing states; using parsing control means for the processing of unprocessed parsing states retrieved from the associative memory means, such processing including marking the current unprocessed parsing state as processed, and yielding potentially new unprocessed parsing states; accessing the associative memory means with a second retrieval condition for testing the presence of a potentially new unprocessed parsing state in the associative memory, and if such is the case, inhibiting the writing of the potentially new unprocessed parsing state into the associative memory; and accessing the associative memory means with further retrieval conditions for retrieving parsing states that meet certain criteria, required for processing of unprocessed parsing states and for optimizations of the processing to be performed. - View Dependent Claims (2, 3, 4)
-
Specification