| |
|
|
DATABASE OR FILE ACCESSING |
Phrase recognition method and apparatus5819260
Abstract
A phrase recognition method breaks streams of text into text "chunks" and selects certain chunks as "phrases" useful for automated full text searching. The phrase recognition method uses a carefully assembled list of partition elements to partition the text into the chunks, and selects phrases from the chunks according to a small number of frequency based definitions. The method can also incorporate additional processes such as categorization of proper names to enhance phrase recognition. The method selects phrases quickly and efficiently, referring simply to the phrases themselves and the frequency with which they are encountered, rather than relying on complex, time-consuming, resource-consuming grammatical analysis, or on collocation schemes of limited applicability, or on heuristical text analysis of limited reliability or utility.
Claims
What is claimed is:
1. A computer-implemented method of processing a stream of document text to form a list of phrases that are indicative of conceptual content of the document, the phrases being used as index terms and search query terms in full text document searching performed after the phrase list is formed, the method comprising:
partitioning the document text into plural chunks of document text, each chunk being separated by at least one partition entity from a partition list; and
selecting certain chunks as the phrases of the phrase list, based on frequencies of occurrence of the chunks within the stream of document text.
2. The method of claim 1, wherein the partitioning step includes:
scanning a portion of the document text stream;
comparing the scanned portion of the document text stream to partition entities in the partition list;
substituting a partition tag for portions of the document text stream which match a partition entity;
generating a text chunk list;
scanning the text chunk list to determine a frequency of each text chunk in the text chunk list; and
revising the text chunk list to include the respective frequencies of occurrence in association with the text chunks.
3. The method of claim 1, wherein the selecting step includes:
selecting the certain chunks as the phrases of the phrase list based only on the frequencies of occurrence of the chunks within the stream of document text and on a quantity of words within the chunks.
4. The method of claim 1, wherein:
a) the partitioning step includes:
a1) scanning a portion of the document text stream;
a2) comparing the scanned portion of the document text stream to partition entities in the partition list;
a3) substituting a partition tag for portions of the document text stream which match a partition entity;
a4) generating a text chunk list;
a5) scanning the text chunk list to determine a frequency of each text chunk in the text chunk list; and
a6) revising the text chunk list to include the respective frequencies of occurrence in association with the text chunks; and
b) the selecting step includes selecting the certain chunks as the phrases of the phrase list based only on the frequencies of occurrence of the chunks within the stream of document text and on a quantity of words within the chunks.
5. The method of claim 1, wherein the selecting step includes:
excluding a chunk from being determined as a phrase if the chunk is a single word beginning with a lower case letter.
6. The method of claim 1, wherein the selecting step includes:
determining a chunk as being a phrase if the chunk includes a plurality of words each constituting lower case letters only if the chunk occurs at least twice in the document text stream.
7. The method of claim 1, wherein the selecting step includes:
determining a chunk as being a proper name if the chunk includes a plurality of words each having at least a first letter which is upper case.
8. The method of claim 1, wherein the selecting step includes:
mapping a sub-phrase to a phrase.
9. The method of claim 1, wherein the selecting step includes:
mapping single upper case words to their respective proper names.
10. The method of claim 1, wherein the selecting step includes:
detecting presence of acronyms;
incrementing a count of a proper name corresponding to the respective detected acronyms; and
copying the proper name and the acronym to an acronym list.
11. The method of claim 1, wherein the selecting step includes:
combining a phrase list of lower case words with a phrase list of proper names.
12. The method of claim 1, further comprising:
reducing the phrase list by consolidating phrases in the phrase list by using a synonym thesaurus.
13. The method of claim 1, further comprising:
adding phrases to the phrase list by combining phrases which are separated in the document text stream only by prepositions.
14. The method of claim 1, further comprising:
trimming the phrase list by eliminating phrases which occur in fewer than a threshold number of document text streams.
15. The method of claim 1, further comprising:
categorizing proper names in the proper name list into groups based on corresponding group lists.
16. An apparatus of processing a stream of document text to form a list of phrases that are indicative of conceptual content of the document, the phrases being used as index terms and search query terms in full text document searching performed after the phrase list is formed, the apparatus comprising:
means for partitioning the document text into plural chunks of document text, each chunk being separated by at least one partition entity from a partition list; and
means for selecting certain chunks as the phrases of the phrase list, based on frequencies of occurrence of the chunks within the stream of document text.
17. The apparatus of claim 16, wherein the partitioning means includes:
means for scanning a portion of the document text stream;
means for comparing the scanned portion of the document text stream to partition entities in the partition list;
means for substituting a partition tag for portions of the document text stream which match a partition entity;
means for generating a text chunk list;
means for scanning the text chunk list to determine a frequency of each text chunk in the text chunk list; and
means for revising the text chunk list to include the respective frequencies of occurrence in association with the text chunks.
18. The apparatus of claim 16, wherein the selecting means includes:
means for selecting the certain chunks as the phrases of the phrase list based only on the frequencies of occurrence of the chunks within the stream of document text and on a quantity of words within the chunks.
19. The apparatus of claim 16, wherein:
a) the partitioning means includes:
a1) means for scanning a portion of the document text stream;
a2) means for comparing the scanned portion of the document text stream to partition entities in the partition list;
a3) means for substituting a partition tag for portions of the document text stream which match a partition entity;
a4) means for generating a text chunk list;
a5) means for scanning the text chunk list to determine a frequency of each text chunk in the text chunk list; and
a6) means for revising the text chunk list to include the respective frequencies of occurrence in association with the text chunks; and
b) the selecting means includes means for selecting the certain chunks as the phrases of the phrase list based only on the frequencies of occurrence of the chunks within the stream of document text and on a quantity of words within the chunks.
20. A computer-readable memory which, when used in conjunction with a computer, can carry out a phrase recognition method to form a phrase list containing phrases that are indicative of conceptual content of a document, the phrases being used as index terms and search query terms in full-text document searching performed after the phrase list is formed, the computer-readable memory comprising:
computer-readable code for partitioning document text into plural chunks of document text, each chunk being separated by at least one partition entity from a partition list; and
computer-readable code for selecting certain chunks as the phrases of the phrase list based on frequencies of occurrence of the chunks within the stream of document text.
21. The computer-readable memory of claim 20, wherein the computer-readable code for partitioning includes:
computer-readable code for scanning a portion of the document text stream;
computer-readable code for comparing the scanned portion of the document text stream to partition entities in the partition list;
computer-readable code for substituting a partition tag for portions of the document text stream which match a partition entity;
computer-readable code for generating a text chunk list;
computer-readable code for scanning the text chunk list to determine a frequency of each text chunk in the text chunk list; and
computer-readable code for revising the text chunk list to include the respective frequencies of occurrence in association with the text chunks.
22. The computer-readable memory of claim 20, wherein the computer-readable code for selecting includes:
computer-readable code for selecting the certain chunks as the phrases of the phrase list based only on the frequencies of occurrence of the chunks within the stream of document text and on a quantity of words within the chunks.
23. The computer-readable memory of claim 20, wherein:
a) the computer-readable code for partitioning includes:
a1) computer-readable code for scanning a portion of the document text stream;
a2) computer-readable code for comparing the scanned portion of the document text stream to partition entities in the partition list;
a3) computer-readable code for substituting a partition tag for portions of the document text stream which match a partition entity;
a4) computer-readable code for generating a text chunk list;
a5) computer-readable code for scanning the text chunk list to determine a frequency of each text chunk in the text chunk list; and
a6) computer-readable code for revising the text chunk list to include the respective frequencies of occurrence in association with the text chunks; and
b) the computer-readable code for selecting includes computer-readable code for selecting the certain chunks as the phrases of the phrase list based only on the frequencies of occurrence of the chunks within the stream of document text and on a quantity of words within the chunks.
24. A computer-implemented method of full-text, on-line searching, the method comprising:
a) receiving and executing a search query to display at least one current document;
b) receiving a command to search for documents having similar conceptual content to the current document;
c) executing a phrase recognition process to extract phrases allowing full text searches for documents having similar conceptual content to the current document, the phrase recognition process including the steps of:
c1) partitioning the document text into plural chunks of document text, each chunk being separated by at least one partition entity from a partition list; and
c2) selecting certain chunks as the phrases, based on frequencies of occurrence of the chunks within the stream of document text; and
d) automatically forming a second search query based at least on the phrases determined in the phrase recognition process so as to allow automated searching for documents having similar conceptual content to the current document.
25. The method of claim 24, further comprising:
validating phrases recognized by the phrase recognition process against phrases in a phrase dictionary before automatically forming the second search query.
26. The method of claim 24, further comprising:
displaying an error message if less than a threshold number of phrases are recognized for the current document.
27. A computer-implemented method of forming a phrase list containing phrases that are indicative of conceptual content of each of a plurality of documents, which phrases are used as index terms or in document search queries formed after the phrase list is formed, the method comprising:
a) selecting document text from the plurality of documents;
b) executing a phrase recognition process including the steps of:
b1) partitioning the document text into plural chunks of document text, each chunk being separated by at least one partition entity from a partition list; and
b2) selecting certain chunks as the phrases, based on frequencies of occurrence of the chunks within the stream of document text; and
c) forming the phrase list, wherein the phrase list includes:
1) phrases extracted by the phrase recognition process; and
2) respective frequencies of occurrence of the extracted phrases.
28. The method of 27, further comprising:
forming a modified phrase list having only those phrases whose respective frequencies of occurrence are greater than a threshold number of occurrences.
29. The method of 27, further comprising:
forming a phrase dictionary based on the phrase list formed in the forming step.
30. A computer-implemented method of forming phrase lists containing phrases that are indicative of conceptual content of documents, which phrases are used as index terms or in document search queries formed after the phrase list is formed, the method comprising
a) selecting document text from a sampling of documents from among a larger collection of documents; and
b) executing a phrase recognition process to extract phrases to form a phrase list for each document processed, the phrase recognition process including:
b1) partitioning the document text into plural chunks of document text, each chunk being separated by at least one partition entity from a partition list; and
b2) selecting certain chunks as the phrases of the phrase list based on frequencies of occurrence of the chunks within the stream of document text.
Description
COPYRIGHT NOTICE: A portion of the disclosure (including all Lists) of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the U.S. Patent and Trademark Office patent file or records, but the copyright owner reserves all other copyright rights whatsoever.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to automated indexing of full-text documents to identify the content-bearing terms for later document retrieval. More specifically, the invention relates to computer-automated identification of phrases which are useful in representing the conceptual content of documents for indexing and retrieval.
2. Related Art
A type of content-bearing term is the "phrase", a language device used in information retrieval to improve retrieval precision. For example, the phrase "product liability" indicates a concept that neither of the two component words can fully express. Without this phrase, a retrieval process is unable to find the documents in which the concept is discussed.
In traditional Boolean retrieval systems, phrase recognition is not an issue. The systems are known as post-coordination indexing systems in that phrases can be discovered through examining the adjacency relationships among search words during the process of merging inverted lists associated with the words.
However, in modern information retrieval systems, the statistical distribution characteristics of index terms are crucial to the relevance ranking process, and it is desirable to recognize phrases and derive their statistical characteristics in advance. In addition, in fabricating hypertext databases, recognized phrases are necessary for hypertext linkage.
Known phrase recognition methods include three types: machine translation, statistical text analysis and heuristical text analysis.
First, machine translation's approach to recognizing phrases (known as compound structures) is to analyze part-of-speech tags associated with the words in an input text string, usually a sentence. Noun phrases and verb phrases are two examples of such phrases. Syntactical context and lexical relationships among the words are key factors that determine successful parsing of the text. In machine translation, the goal is not of finding correct phrases, but of discovering the correct syntactical structure of the input text string to support other translation tasks. It is infeasible to use this syntactical parsing method for processing commercial full-text databases; the method is inefficient and is in practical terms not scalable. Regarding machine translation, reference may be made to U.S. Pat. Nos. 5,299,124, 5,289,375, 4,994,966, 4,914,590, 4,931,936, and 4,864,502.
The second method of analysis, statistical text analysis, has two goals: disambiguating part of speech tagging, and discovering noun phrases or other compound terms. The statistics used include collocation information or mutual information, i.e., the probability that a given pair of part-of-speech tags or a given pair of words tends to appear together in a given data collection. When a word has more than one part-of-speech tag associated with it in a dictionary, consulting the part of speech of the next word and calculating the probability of occurrence of the two tags would help select a tag. Similarly, a pair of words that often appear together in the collection is probably a phrase. However, statistical text analysis requires knowledge of collocation that can only be derived from an known data collection. Disadvantageously, the method is not suitable for processing unknown data. Regarding statistical text analysis, reference may be made to U.S. Pat. Nos. 5,225,981, 5,146,405, and 4,868,750.
The third method of analysis, heuristical text analysis, emphasizes textual pattern recognition. Textual patterns include any recognizable text strings that represent concepts, such as company names, peoples' names, or product names. For example, a list of capital words followed by a company indicator like "Limited" or "Corp" is an example pattern for recognizing company names in text. The heuristical text analysis method requires strong observation ability from a human analyst. Due to the limitation of humans' observation span, heuristical text analysis is only feasible for small subject domains (e.g., company name, product names, case document names, addresses, etc.). Regarding heuristical text analysis, reference may be made to U.S. Pat. Nos. 5,410,475, 5,287,278, 5,251,316, and 5,161,105.
Thus, machine translation methods, involving potentially complex grammatical analysis, are too expensive and too error-prone for phrase recognition. Statistical text analysis, being based on collocation and being purely based on statistics, is still expensive because of the required full scale of part-of-speech tagging and pre-calculating collocation information, and also has difficulties processing unknown data without the collocation knowledge. Finally, heuristical text analysis, relying on "signal terms", is highly domain-dependent and has trouble processing general texts.
Thus, there is a need in the art for a simple, time-efficient, resource-efficient, and reliable phrase recognition method for use in assisting text indexing or for forming a statistical thesaurus. It is desired that the phrase recognition method be applicable to both individual documents and to large collections of documents, so that the performance of not only real-time on-line systems, but also distributed and mainframe text search systems can be improved. It is also desired that the phrase recognition method have engineering scalability, and not be limited to particular domains of knowledge.
The present invention is directed to fulfilling these needs.
SUMMARY OF THE INVENTION
The present invention provides a phrase recognition method which breaks text into text "chunks" and selects certain chunks as "phrases" useful for automated full text searching. The invention uses a carefully assembled list of partition words to partition the text into the chunks, and selects phrases from the chunks according to a small number of frequency-based definitions. The invention can also incorporate additional processes such as categorization of proper names to enhance phrase recognition.
The invention achieves its goals quickly and efficiently, referring simply to the phrases and the frequency with which they are encountered, rather than relying on complex, time-consuming, resource-consuming grammatical analysis, or on collocation schemes of limited applicability, or on heuristical text analysis of limited reliability or utility.
Additional objects, features and advantages of the invention will become apparent when the following Detailed Description of the Preferred Embodiments is read in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is better understood by reading the following Detailed Description of the Preferred Embodiments with reference to the accompanying drawing figures, in which like reference numerals refer to like elements throughout, and in which:
FIG. 1 illustrates an exemplary hardware configuration on which the inventive phrase recognition method may be executed.
FIG. 2 illustrates another exemplary hardware environment in which the inventive phrase recognition method may be practiced.
FIG. 3 is a high level flow chart schematically indicating execution in an embodiment of the phrase recognition method according to the present invention.
FIG. 4A is a flow chart schematically indicating execution in a module for partitioning text and generating text chunks.
FIG. 4B is a flow chart indicating execution of a module for selecting phrases using the data memory structure diagram of FIG. 5.
FIG. 5 is a data memory structure diagram schematically illustrating data flow during the inventive phrase recognition method (FIGS. 3, 4A, 4B) and corresponding memory allocation for various types of data used in accordance with the process.
FIG. 6A is a flow chart of an optional processing module for consolidating with a thesaurus.
FIG. 6B is a flow chart of an optional processing module for processing phrases with prepositions.
FIG. 6C is a flow chart of an optional processing module for trimming phrases with their collection frequencies.
FIG. 6D is a flow chart of an optional processing module for categorizing proper names.
FIGS. 7A, 7B and 7C illustrate exemplary applications of the inventive phrase recognition method according to the present invention. In particular: FIG. 7A indicates a user's viewing of a document in accordance with a suitable on-line text search system, and invoking the inventive phrase recognition method to search for additional documents of similar conceptual content; FIG. 7B schematically illustrates implementation of the phrase recognition method in a batch phrase recognition system in a distributed development system; FIG. 7C schematically illustrates application of the inventive phrase recognition method in a batch process in a mainframe system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In describing preferred embodiments of the present invention illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the invention is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner to accomplish a similar purpose.
The concept of the present invention is first described on a particular example of a text stream. Then, block diagrams and flow charts are described, which illustrate non-limiting embodiments of the invention's structure and function.
Very briefly, a preferred embodiment of the inventive method partitions an input text stream based on punctuation and vocabulary. As the method processes the text stream sequentially, it inserts partition symbols between words if certain punctuation exists, such as a comma, end of sentence, or change in capitalization. Further, each word encountered is checked against one or more vocabulary lists, and may be discarded and replaced by a partition symbols, based on the word and where it is encountered.
After the document is thus processed, a set of candidate terms and "phrases" (a series of non-partitioned words) is produced. In the preferred embodiment, solitary words (individual words immediately surrounded by partitions) are ignored at this point. The phrases are processed to determine which phrases occur with higher frequency. Preferably, shorter phrases which occur with higher frequency and as subsets of lower-frequency but lengthier phrases are also sought. A set of phrases meeting or exceeding a given threshold frequency is produced.
The inventive method is more easily understood with reference to a particular example.
As mentioned above, members of a list of words (including punctuation) serve as "break points" to form text "chunks" within input text. A first (rudimentary) list includes words can be used as "stop words". The stop words usually carry little semantic information because they exist merely for various language functions. This list has a few hundred members and includes articles (e.g., "a", "the"), conjunctions (e.g., "and", "or"), adverbs (e.g., "where", "why"), prepositions (e.g., "of", "to", "for"), pronouns (e.g., "we", "his"), and perhaps some numeric items.
However, this first list is too short for the present phrase recognition method because it causes generation of a list of text chunks that are too long to allow efficient generation of desirable phrases. Additional stop words or other partition items are needed for reducing the size of the text chunks, so that more desirable phrases may be found.
The following example of text illustrates this problem. In this example, the text "chunks" are within square brackets, with the text chunks being separated by an members of the list of stop words (break points):
›Citing! what is ›called newly conciliatory comments! by the ›leader! of the ›Irish Republican Army!'s ›political wing!, the ›Clinton Administration announced today! that it would ›issue! him a ›visa! to ›attend! a ›conference! on ›Northern Ireland! in ›Manhattan! on ›Tuesday!. The ›Administration! had been ›leaning! against ›issuing! the ›visa! to the ›official!, ›Gerry Adams!, the ›head! of ›Sinn Fein!, ›leaving! the ›White House caught! between the ›British Government! and a ›powerful bloc! of ›Irish-American legislators! who ›favored! the ›visa!. (Parsed text based on rudimentary list)
Since desirable phrases include noun phrases (e.g., "ice cream"), adjective-noun phrases (e.g., "high school"), participle-noun phrases (e.g., "operating system"), and proper names (e.g., "White House"), it is safe to add adverbs (e.g., "fully") and non-participle verbs (e.g., "have", "is", "obtain") to the list of stop words to form an enhanced stop word list. This enhanced stop word list allows the method to provide smaller text chunks, yet is still compact enough for efficient look-up by computer. With the enhanced list, the above example text is parsed into chunks and stop words as follows:
›Citing! what is ›called! newly ›conciliatory comments! by the ›leader! of the ›Irish Republican Army!'s ›political wing!, the ›Clinton Administration! announced ›today! that it would issue him a ›visa! to attend a ›conference! on ›Northern Ireland! in ›Manhattan! on ›Tuesday!. The ›Administration! had been ›leaning! against ›issuing! the ›visa! to the ›official!, ›Gerry Adams!, the ›head! of ›Sinn Fein!, ›leaving! the ›White House! caught between the ›British Government! and a ›powerful bloc! of ›Irish-American legislators! who favored the ›visa!. (Second parsed text based on enhanced list)
The theoretical justification of using this enhanced list derives from two sources.
A first justification is that this list only represents about 13% of unique words in a general English dictionary. For example, in the Moby dictionary of 214,100 entries, there are 28,408 words that can be put into the list. This fact ensures that semantic, information in texts is maintained at a maximum level.
A second justification involves the lexical characteristics of these words. Most of the words bear little content. This second fact reduces the risk of losing semantic information in the text.
The basic concept of the invention having been described, particular implementations of its structure and function are now presented.
As will readily be appreciated, the invention is preferably embodied as software, instruction codes capable of being executed by digital computers, including commercially available general purpose digital computers well known to those skilled in the art. The particular hardware on which the invention may be implemented varies with the particular desired application of the inventive phrase recognition method. Three examples of the such application of the phrase recognition method are described in greater detail below, with reference to FIGS. 7A, 7B, and 7C. Briefly, the dynamic recognition method involved in an on-line system (FIG. 7A) may be implemented in IBM 370 assembly language code. Alternatively, in a batch recognition system in a distributed development system (FIG. 7B), the phrase recognition method may be implemented on a SUN work station using the PERL script interpretive prototyping language. As a still further implementation, the inventive phrase recognition method may be implemented on an Amdahl AMD 5995-1400-a mainframe so that another batch phrase recognition system (FIG. 7C) may be realized. Of course, the scope of the invention should not be limited by these exemplary embodiments or applications.
Embodiments of the inventive phrase recognition method may be implemented as a software program including a series of executable modules on a computer system. As shown in FIG. 1, an exemplary hardware platform includes a central processing unit 110. The central processing unit interacts with a human user through a user interface 112. The user interface is used for inputting information into the system and for interaction between the system and the human user. The user interface 112 includes, for example, a video display 113 and a keyboard 115. A computer memory 114 provides storage for data and software programs which are executed by the central processing unit 110. Auxiliary memory 116, such as a hard disk drive or a tape drive, provides additional storage capacity and a means for retrieving large batches of information.
All components shown in FIG. 1 are of a type well known in the art. For example, the FIG. 1 system may include a SUN.RTM. work station including the execution platform Sparc 2 and SUN OS Version 4.1.2., available from SUN MICROSYSTEMS of Sunnyvale, Calif. Of course, the system of the present invention may be implemented on any number of modern computer systems.
A second, more complex environment in which the inventive phrase recognition method may be practiced is shown in FIG. 2. In particular, a document search and retrieval system 30 is shown. The system allows a user to search a subset of a plurality of documents for particular key words or phrases. The system then allows the user to view documents that match the search request. The system 30 comprises a plurality of Search and Retrieval (SR) computers 32-35 connected via a high speed interconnection 38 to a plurality of Session Administrator (SA) computers 42-44.
Each of the SR's 32-35 is connected to one or more document collections 46-49, each containing text for a plurality of documents, indexes therefor, and other ancillary data. More than one SR can access a single document collection. Also, a single SR can be provided access to more than one document collection. The SR's 32-35 can be implemented using a variety of commercially available computers well known in the art, such as Model EX100 manufactured by Hitachi Data Systems of Santa Clara, Calif.
Each of the SA's 42-44 is provided access to data representing phrase and thesaurus dictionaries 52-54. The SA's 42-44 can also be implemented using a variety of commercially available computers, such as Models 5990 and 5995 manufactured by Amdahl Corporation of Sunnyvale Calif. The interconnection 38 between the SR's and the SA's can be any one of a number of two-way high-speed computer data interconnections well known in the art, such as the Model 7200-DX manufactured by Network Systems Corporation of Minneapolis, Minn.
Each of the SA's 42-44 is connected to one of a plurality of front end processors 56-58. The front end processors 56-58 provide a connection of the system 30 one or more commonly available networks 62 for accessing digital data, such as an X.25 network, long distance telephone lines, and/or SprintNet. Connected to the network 62 are plural terminals 64-66 which provide users access to the system 30. Terminals 64-66 can be dumb terminals which simply process and display data inputs and outputs, or they can be one of a variety of readily available stand-alone computers, such as IBM or IBM-compatible personal computers. The front end processors 56-58 can be implemented by a variety of commercially available devices, such as Models 4745 and 4705 manufactured by the Amdahl Corporation of Sunnyvale Calif.
The number of components shown in FIG. 2 are for illustrative purposes only. The system 30 described herein can have any number of SA's, SR's, front end processors, etc. Also, the distribution of processing described herein may be modified and may in fact be performed on a single computer without departing from the spirit and scope of the invention.
A user wishing to access the system 30 via one of the terminals 64-66 will use the network 62 to establish a connection, by means well known in the art, to one of the front end processors 56-58. The front end processors 56-58 handle communication with the user terminals 64-66 by providing output data for display by the terminals 64-66 and by processing terminal keyboard inputs entered by the user. The data output by the front end processors 56-58 includes text and screen commands. The front end processors 56-58 support screen control commands, such as the commonly known VT100 commands, which provide screen functionality to the terminals 64-66 such as clearing the screen and moving the cursor insertion point. The front end processors 56-58 can handle other known types of terminals and/or stand-alone computers by providing appropriate commands.
Each of the front end processors 56-58 communicates bidirectionally, by means well known in the art, with its corresponding one of the SA's 42-44. It is also possible to configure the system, in a manner well known in the art, such that one or more of the front end processors can communicate with more than one of the SA's 42-44. The front end processors 56-58 can be configured to "load balance" the SA's 42-44 in response to data flow patterns. The concept of load balancing is well known in the art.
Each of the SA's 42-44 contains an application program that processes search requests input by a user at one of the terminals 64-66 and passes the search request information onto one or more of the SR's 32-35 which perform the search and returns the results, including the text of the documents, to the SA's 42-44. The SA's 42-44 provide the user with text documents corresponding to the search results via the terminals 64-66. For a particular user session (i.e. a single user accessing the system via one of the terminals 64-66), a single one of the SA's 42-44 will interact with a user through an appropriate one of the front end processors 56-58.
Preferably, the inventive phrase recognition method is implemented in the session administrator SA computers 42-44, with primary memory being in the SA computer itself and further memory being illustrated within elements 52-54.
The principles on which the inventive method is based, and hardware systems and software platforms on which it may be executed, having been described, a preferred embodiment of the inventive phrase recognition method is described as follows.
FIG. 3 is a high level flow diagram of the phrase recognition method of the preferred embodiment.
Referring to FIG. 3, the invention uses a carefully assembled list of English words (and other considerations such as punctuation) in a Partition Word List (more generally referred to as a Partition Entity List, or simply Partition List) to partition one or more input text streams into many text chunks. This partitioning process is illustrated in block 10.
Block 20 indicates selection of phrases from among the chunks of text, according to frequency based definitions. A Phrase List, including the selected phrases, results from execution of the process in block 20. During the phrase selection process, solitary words (single-word chunks), as well as words from the decomposed phrases, can be maintained separate from the Phrase List as optional outputs for other indexing activities.
Details of processes 10 and 20 are described with reference to FIGS. 4A and 4B.
The invention can optionally incorporate one or more other processes, generically indicated as element 30. Such optional process may include categorization (examples described with reference to FIGS. 6A-6D) to enhance the list of recognized phrases.
FIG. 4A is a flow chart of FIG. 3 module 10, for partitioning text and generating text chunks.
FIG. 4A shows how the method, given a piece of text, partitions the text into many small text chunks. A critical component in this method is the Partition List (including words and punctuation) whose members serve as break points to generate the text chunks.
As mentioned above, a Partition List ideally allows parsing of text into short phrases, but is itself still compact enough for efficient computer look-up during the parsing process. Preferably, the Partition List is generated using not only articles, conjunctions, adverbs, prepositions, pronouns, and numeric items, but also adverbs and verbs, to form an enhanced list.
The text partitioning process starts off with looking up encountered text in the Partition List (at block 101) and replacing every matched partition word or other partition entity with a partition tag such as "####" (shown at block 102).
Additional partition tags are added into those text chunks at the point where there is a case change, either from lower case to upper case or vice versa (shown at block 103). Block 104 indicates generation of the text chunk list which preserves the natural sequence of the chunks as encountered in the text.
The frequency information for each chunk in the list is collected by scanning the text chunks in their natural sequence. The first occurrence of each unique chunk in the sequence is registered as a new entry with its frequency as 1. Subsequent occurrences are registered by incrementing its frequency count by 1. This generation of occurrence frequencies in association with the respective chunks is indicated by block 105.
FIG. 4B is a flow chart of FIG. 3 module 20, illustrating details of a preferred process for selecting which chunks are phrases.
FIG. 5 is a data memory structure diagram showing how data may be arranged in memory for the process, and how data flows into and out of various steps of the process. More specifically, the steps from FIG. 3 of text partitioning 10, phrase selection 20, and optional processing 30 (reproduced on the left side of FIG. 5) are illustrated in conjunction with an exemplary data memory structure diagram (on the right side of FIG. 5) to schematically illustrate data flow between major functional procedures and data structures. The various lists shown in the exemplary memory blocks on the right side of FIG. 5 are understood to include list members in conjunction with their respective frequencies of occurrence.
The memory (broadly, any data storage medium such as RAM and/or magnetic disk and/or optical disk and/or other suitable computer readable medium) may be structured in memory blocks as schematically illustrated. A text stream file 300 and a Partition List 310 are used as inputs to the partitioning process 10 of the inventive phrase recognition method. The partitioning process 10 provides a chunk list (understood as including corresponding chunk frequencies) 315. Chunk list 315 is used by the phrase selection process 20 of the inventive phrase recognition method.
The partitioning process produces various groupings of chunks, each with their respective frequencies of occurrence within the text stream. These groupings of chunks are illustrated on the right side of FIG. 5, with the understanding that the invention should not be limited to the particular memory structure so illustrated.
Specifically, lower case words (that is, single-word chunks) are in memory block 320, capitalized or "allcaps" single-word chunks are in memory block 325, a Proper Name List (preferably of greater than one word, each being capitalized or in allcaps) is in memory block 330, lower case phrases of greater than one word occurring more than once are in memory block 335, lower case phrases of greater than one word which were encountered only once are in memory block 345, and, optionally, acronyms are in memory block 350.
A synonym thesaurus in memory block 375 may be used in an optional process 30. A phrase frequency list derived from a collection of plural documents in which the phrase frequency throughout the collection is greater than a threshold, in memory block 380, may also be used in an optional processing procedure 30. Further, one or more special indicator lists, generally indicated as 385A-385E (company indicators, geographic names, product names, organization indicators, English first names, respectively, some of which are exemplified in the attached List) may contribute to certain optional categorizing processes, and result in corresponding name lists (company names, geographic location names, product names, organization names, and English names) generally indicated as 390A-390E.
Referring again to FIG. 4B, after the text chunk list is produced, it is the time to make decision whether each chunk in the list is a phrase useful for representing conceptual content of documents. The inventive phrase recognition method uses the frequency information of two types of the partitioned text chunks (namely, the proper names in block 330 and the lower case phrases in blocks 335 and 345) to make final phrase selection decisions. Preferably, the invention focuses on lower case phrases of more than one word, or on proper names ("John Hancock", "United States").
Referring to FIGS. 4B and 5, at block 201, entries consisting of a solitary lower case word are not selected as phrases. Rejected entries are stored in memory block 320.
As shown at block 202, those chunks that include plural lower case words are determined to be phrases only if they occur at least twice in the text stream. These chunks are stored in memory block 335. Chunks not fitting these criteria are stored in block 345 for further processing.
For chunks consisting of a solitary upper case word (either the first letter being capitalized or "allcaps"), no phrase decision is made at this stage, as shown at block 203. Such chunks are stored in memory block 325.
In block 204, chunks including plural upper case words are determined to be proper names and are stored in a Proper Name List in memory block 330.
Finally, other text chunks not fitting the previous criteria are simply discarded at this time, as indicated at block 205.
Next, block 206 examines the lower case phrases having a single occurrence from memory block 245. They are examined for having one of its sub-phrases as part of an existing lower case phrase in the list. For efficiency, a sub-phrase may be defined to be the first or last two or three words in the phrases. When the existence of a sub-phrase is detected, it is merged into the corresponding phrase in the list in memory block 335, and its frequency count is updated. Otherwise, and the lower case phrase is decomposed into individual words for updating the lower case word list in memory block 320 as an optional output.
As a result of this sub-phrase mapping in block 206, in our example the list is reduced to a list of lower case phrases and a list of proper names, both with their respective frequency counts:
›political wing, 2!
›Citing, 1!
›Irish Republican Army, 1!
›Clinton Administration, 1!
›Northern Ireland, 1!
›Manhattan, 1!
›Tuesday, 1!
›Administration, 1!
›Gerry Adams, 1!
›Sinn Fein, 1!
›White House, 1!
›British Government, 1!
The singleton upper case word could be used for referencing an existing proper name in the proper name list. To make the final frequency count accurate, the method makes one additional scan to the Proper Name List 330. It consolidates the upper case word that is either the first or the last word of a previously recognized proper name, and updates its frequency count. This use of upper case single words in memory block 325 to revise the Proper Name List 330 is indicated at block 207. The method stores the other upper case words in the upper case word list 325 as an optional output.
A special case of the singleton upper case word is that of the acronym. An acronym is defined either as a string of the first character of each word (which is neither a preposition nor a conjunction) in a proper name or as a string of the first character of each word in a proper name followed by a period. As indicated at block 208, when an acronym in memory block 325 maps to a proper name in the proper name list 330, the frequency count of the proper name is incremented, and the pair of the proper name and its acronym is copied into an acronym list 350 as an optional output.
In our example, this reference checking process further reduces the proper name list in this example to the following:
›Irish Republican Army, 1!
›Clinton Administration, 2!
›Northern Ireland, 1!
›Gerry Adams, 1!
›Sinn Fein, 1!
›White House, 1!
›British Government, 1!
If no additional processing is necessary, this method concludes by combining the lower case phrase list in memory block 335 and the Proper Name List in memory block 330 into a single Phrase List 340 which is provided as the final output of the phrase selection process 20.
In another embodiment, the lower case phrases with frequency=1 in memory block 345 are also included in the consolidation, in addition to the Proper Name List in memory block 330 and the lower case phrases having frequency greater than 1 in memory block 335. The choice of either including or excluding the lower case phrases in memory block 345 is determined by a frequency threshold parameter which determines the number of times a lower case phrase must be encountered before it is allowed to be consolidated into the final Phrase List.
The example shown in FIG. 5 has this threshold set to 2, so that those phrases encountered only once (in memory block 345) are excluded from the consolidated Phrase List 340. The dotted line extending downward from Phrase List 340 to include memory block 345 shows how lower case phrases encountered only once can be included in the Phrase List if desired, however.
In any event, the consolidation of memory blocks into a single Phrase List is indicated at block 209.
For this text stream example, the final Phrase List is as follows:
›political wing, 2!
›Irish Republican Army, 1!
›Clinton Administration, 2!
›Northern Ireland, 1!
›Gerry Adams, 1!
›Sinn Fein, 1!
›White House, 1!
›British Government, 1!
The invention envisions that optional processes are available for further enhancing the recognized phrases.
FIG. 6A is a flow chart of an optional processing module for consolidating with a synonym thesaurus.
Referring to FIG. 6A, the Phrase List can be further reduced with a synonym thesaurus, as indicated at block 301. The synonym thesaurus may be any suitable synonym thesaurus available from commercial vendors. As an example, the Phrase List may map "White House" to "Clinton Administration." Using a synonym thesaurus is risky because its contents may not reflect the intended conceptual content of the text, and therefore may cause mapping errors. For example, it would be problematic if a synonym thesaurus maps "Bill Clinton" to "White House", because the two terms are not always equivalent.
FIG. 6B is a flow chart of an optional processing module for processing phrases with prepositions.
Referring to FIG. 6B, when a desirable lower case phrase contains one of a small set of prepositions (e.g., "right to counsel", "standard of proof"), the method takes the set out of the Partition List used for generating text chunks so that the phrase including the preposition has an opportunity to reveal itself as being part of a "good" phrase. This process is indicated as block 302.
Since it is statistically unlikely that any given occurrence of a preposition is in a "good" phrase, this optional process consumes substantial time for a relatively small increase in phrases, and is considered optional.
It is necessary to have another process to further examine the unqualified phrase in memory block 345 that contains one of the selected prepositions, whether the sub-phrase on the left of the preposition or the sub-phrase on the right constitutes a valid phrase in the lower case phrase list in memory block 335. This process is illustrated as block 303.
As a result of process blocks 302, 303, memory block 335 may be updated.
FIG. 6C is a flow chart of an optional processing module for trimming phrases with their collection frequencies.
Referring to FIG. 6C, still another optional process is that of editing the list of the Proper Name List 330 and lower case phrases 335 with additional frequency information 380 gathered from a text collection of more than one document. The assumption here is that, the more authors which use a phrase, the more reliable the phrase is for uniquely expressing a concept. In other words, a phrase occurring in more than one document is a "stronger" phrase than another phrase occurring only in a single document.
Here, the "collection frequency" of a phrase is the number of documents that contain the phrase. A collection frequency threshold (e.g., five documents) can be set to trim down those phrases whose collection frequencies are below the threshold, as indicated at block 304. Essentially, FIG. 6C trims the entire Phrase List 340, including entries from either memory block 330 or 335.
When collection frequency information is available (as illustrated by memory block 380), the minimum frequency requirement of two encounters for the lower case phrases within a text (see FIG. 5) can be lowered to one encounter. "Mistaken" phrases will be rejected when consulting the collection frequency information when considering multiple documents.
FIG. 6D is a flow chart of an optional processing module for categorizing proper names.
Referring now to FIG. 6D, after proper names are identified and are stored in the Proper Name List 330, it is possible to categorize them into new sets of pre-defined groups, such as company names, geographic names, organization names, peoples' names, and product names.
A list 385A of company indicators (e.g., "Co." and "Limited") is used for determining whether the last word in a proper name is such an indicator, and thereafter for categorizing it into the group of company name. Any word after this indicator is removed from the proper name.
With the knowledge of the company name, it may be useful to check the existence of the same company name in the list that does not have the indicator word. If the search is successful, the frequency count of the company name is updated. The recognized company names are kept in a Company Names list 390A as an optional output, as indicated at block 305.
Similarly, a list 385B of geographic names or a list 385C of product names may be used for looking up whether a proper name has a match and thereafter for categorizing it into the list of geographic names or a list of product names, respectively. The recognized geographic names or product names are kept in Geographic Location Names 390B or Product Names 390C lists as optional outputs, as indicated at blocks 306 and 307.
A list 385D of words that designate organizations is used for determining whether the first or the last word of a proper name is the indicator of organization, and thereafter for categorizing it into the group of organizations. The recognized organization names may be kept in an Organization Names List 390D as an optional output, as indicated at block 308.
Finally a list 385E of English first names is used for determining whether the first word of a proper name is a popular first name and thereafter for categorizing it into the group of peoples' names. Any word before the first name is removed from the proper name. The more comprehensive the lists are, the more people names can be categorized properly. The recognized people names are kept in a separate English Names list 390E as an optional output for other indexing activities, as indicated at block 309.
Appendices A through E present an exemplary Partition List 310 and exemplary Special Indicator/Name lists 385A-385E.
The inventive method having been described above, the invention also encompasses apparatus (especially programmable computers) for carrying out phrase recognition. Further, the invention encompasses articles of manufacture, specifically, computer readable memory on which the computer-readable code embodying the method may be stored, so that, when the code used in conjunction with a computer, the computer can carry out phrase recognition.
Non-limiting, illustrative examples of apparatus which invention envisions are described above and illustrated in FIGS. 1 and 2. Each constitutes a computer or other programmable apparatus whose actions are directed by a computer program or other software.
Non-limiting, illustrative articles of manufacture (storage media with executable code) may include the disk memory 116 (FIG. 1), the disk memories 52-54 (FIG. 2), other magnetic disks, optical disks, conventional 3.5-inch, 1.44 MB "floppy" diskettes or other magnetic diskettes, magnetic tapes, and the like. Each constitutes a computer readable memory that can be used to direct the computer to function in a particular manner when used by the computer.
Those skilled in the art, given the preceding description of the inventive method, are readily capable of using knowledge of hardware, of operating systems and software platforms, of programming languages, and of storage media, to make and use apparatus for phrase recognition, as well as computer readable memory articles of manufacture which, when used in conjunction with a computer can carry out phrase recognition. Thus, the invention's scope includes not only the method itself, but apparatus and articles of manufacture.
Applications of the phrase recognition method. The phrase recognition method described above can be used in a variety of text searching systems. These include, but need not be limited to, dynamic phrase recognition in on-line systems, batch phrase recognition in a distributed development system, and batch phrase recognition in a mainframe system. The following description of the applications of the inventive phrase recognition method is illustrative, and should not limit the scope of the invention as defined by the claims.
In an on-line system (OLS) envisioned as a target application for the inventive phrase recognition method, a user viewing a current document and entering a command to search for documents of similar conceptual content must wait for the phrase recognition process to be completed. Accordingly, the efficiency of the inventive phrase recognition method is important, as it allows reduced response time and uses minimal resources in a time-sharing environment.
According to the application of the invention in a given on-line system, the method processes the text in a single document in real time to arrive at a list of "good" phrases, namely, ones which can be used as accurate and meaningful indications of the document's conceptual content, and which can be used as similarly accurate and meaningful queries in subsequent search requests. In particular, according to a preferred application, the Phrase List derived from the single document is used to construct a new search description to retrieve additional documents with similar conceptual content to the first document.
This implementation of the phrase recognition method may, for example, be embedded in session administrator (FIG. 2) or other software which governs operation of the computer system on which the phrase recognition method. Of course, the particular implementation will vary with the software and hardware environment of the particular application in question.
FIG. 7A indicates a user's viewing of a document in accordance with a suitable on-line text search system, and invoking the inventive phrase recognition method to search for additional documents of similar conceptual content. In particular, block 701 assumes a user viewing a given document enters a command (such as ".more") to retrieve more documents similar in conceptual content to the current one being viewed.
When the ".more" command is entered, control passes to block 702 which indicates retrieval of the document being viewed and passing it to the session administrator or other software which includes the inventive phrase recognition software.
Block 703 indicates execution of the inventive phrase recognition method on the text in the retrieved document. A candidate phrase list is generated, based on that single document.
Block 704 indicates how the candidate phrase list generated from the single document may be validated against an existing (larger) phrase dictionary. The static phrase dictionary may be generated as described below, with reference to the batch phrase recognition application in a distributed development system.
If a candidate phrase does not already exist in the phrase dictionary, the candidate phrase is broken down into its component words. Ultimately, a list of surviving phrases is chosen, based on frequency of occurrence.
At decision block 705, if at least a given threshold number of words or phrases (e.g., five words or phrases) is extracted, control passes from decision block 705 to block 708, described below.
If, however, the given threshold number of words or phrases are not extracted, control passes from decision block 705 along path 706 back to block 701, after displaying an error message at block 707 which indicates that the displayed current document could not successfully be processed under the ".more" command.
Block 708 indicates that the newly-added words or phrases are added to the search query which previously resulted in the user's viewing the current document. Block 709 indicates the system's displaying the new "combined" search query to the user. The user may edit the new query, or may simply accept the new query by pressing "enter".
FIG. 7B schematically indicates implementation of the phrase recognition method in a batch phrase recognition system in a distributed development system.
In contrast to the implementation of the on-line system of FIG. 7A, in the application shown in FIG. 7B, the phrase recognition method is applied to a large collection of documents, and produces a list of phrases associated with the entire collection. As mentioned above with reference to FIG. 7A, the phrase dictionary may be generated by this batch recognition process in the "distributed development domain" (DDD) when there is an abundance of idle system resources. When the on-line system then uses the resultant phrase dictionary, the phrase dictionary is essentially static, having been generated and modified outside the on-line sessions.
The FIG. 7B application takes longer to execute than the single-document phrase recognition process occurring in the dynamic phrase recognition in the on-line application. Accordingly, the FIG. 7B process is preferably executed as a batch process at times when overall system usage is not impaired, such as overnight. In particular, the software implementation of the phrase recognition/phrase dictionary building process may be implemented on SUN work stations.
As a background to FIG. 7B, a developer's control file defines which documents, and/or which portions of the documents, should be processed in a given run. Block 723 indicates a filtering process which filters out documents and portions of documents which are not desired to contribute to the phrase dictionary, based on the control file. Block 724 indicates application of the inventive phrase recognition method to the documents and portions of documents which have passed through filter process 723.
The output of the phrase recognition process is a phrase list (PL) which, in the illustrated non-limiting embodiment, is stored as a standard UNIX text file on disk. In a preferred embodiment, single-word terms which are encountered are discarded, so that only multiple word phrases are included in the phrase list (PL).
For simplicity, each phrase is provided on a single line in the file. Block 725 indicates how the UNIX file is sorted using, for example, the standard UNIX sort utility, causing duplicate phrases to be grouped together. Block 725 also calculates the frequency of each of the grouped phrases.
If a given phrase occurs less than a given threshold number of times (e.g., five times as tested by decision block 727) it is discarded, as indicated by decision block 726. Only phrases which have been encountered at least that threshold number of times survive to be included in the revised Phrase List, as shown in block 728.
The revised Phrase List is then transferred from the SUN work station to its desired destination for use in, for example, the on-line system described above. It may also be transferred to a main frame computer using a file transfer protocol FTP, to be processed by a phrase dictionary building program and compiled into a production phrase dictionary. This process is shown illustrated as block 729.
Referring now to FIG. 7C, the application of the inventive phrase recognition method on a mainframe system is schematically illustrated. In the illustrated application, the phrase recognition method is implemented as a batch process in a production mainframe. The process involves a random sample of documents from a larger collection of documents, and produces a set of phrases for each document processed. The process is preferably executed when system resources are not otherwise in high demand, such as overnight. The process of FIG. 7C is especially useful for use with statistical thesauri.
As a background, it is assumed that phrases may be considered to be "related" to each other if they occur in the same document. This "relationship" can be exploited for such purposes as expanding a user's search query. However, in order to provide this ability, large number of documents must first be processed.
Referring again to FIG. 7C, block 733 indicates the filtering of documents and portions thereof in accordance with specifications from a control file, in much the same manner as described with reference to FIG. 7B. Block 734 indicates the application of the inventive phrase recognition method to the documents which pass the filter. One set of terms (single words, phrases or both) is produced for each document and stored in respective suitably formatted data structure on a disk or other storage medium.
Further details of implementation of the applications of the inventive phrase recognition method depend on the particular hardware system, software platform, programming languages, and storage media being chosen, and lie within the ability of those skilled in the art.
The following List are exemplary, illustrative, non-limiting examples of a Partition List and other lists which may be used with an embodiment of the phrase recognition method according to the present invention.
______________________________________
List A
Example of PARTITION LIST
(On-Line System with News Data)
Copyright 1995
LEXIS-NEXIS, a Division of Reed Elsevier Inc.
______________________________________
A BAITH EVERY- HEREOF
THING
A.M BE EXCEPT HEREON
ABOUT BECAME FEB HERETO
ABOVE BECAUSE FEBRUARY HEREWITH
ACROSS BEEN FEW HERN
AFFECT BEFORE FEWER HERSELF
AFTER BEING FIFTEEN HIC
AGAIN BELOW FIVE HIM
AGO BETWEEN FOR HIMSELF
ALL BOTH FOUR HIS
ALREADY BUT FOURTEEN HIS'N
ALSO BY FRI HISSELF
ALTHOUGH CAN FRIDAY HOC
ALWAY COULD FROM HOW
AN DEC GET HOWEVER
AND DECEMBER GO I
ANOTHER DID GOT I'D
ANY DO HAD I'LL
ANYBODY DOE HAPPEN I'M
ANYMORE DUE HARDLY I'VE
ANYONE DURING HAS I.E
ANYTHING E.G HAVE IF
APR EACH HAVING IN
APRIL EIGHT HE INTO
ARE EIGHTEEN HENCE IS
AROUND EITHER HER IT
AS ELEVEN HER'N ITS
ASIDE EVEN HERE ITSELF
ASK EVEN- HEREAFTER JAN
TUALLY
AT EVER HEREBY JANUARY
AUG EVERYBODY HEREIN JUL
AUGUST EVERYMAN HEREIN- JULY
AFTER
AWAY EVERYONE HEREIN- JUN
SOFAR
JUNE ONLY SOMEBODY THREE
JUST ONTO SOMEONE THROUGH
LIKE OR SOMETHING THUR
MANY OTHER SOMETIME THURSDAY
MAR OTHERWISE SOMEWHERE THUS
MARCH OUGHT SOONER THY
MAY OUR STILL THYSELF
ME OUR'N SUCCUSSION TILL
MIGHT OURSELF SUCH TO
MINE OURSELVE SUN TODAY
MON OUT SUNDAY TOMORROW
MONDAY OVER TAKE TOO
MORE P.M TEN TUB
MUCH PERHAP THAE TUESDAY
MUST QUIBUS THAN TWELVE
MY QUITE THAT TWENTY
MYSELF RATHER THE TWO
N.S REALLY THEE UN
NANE REV THEIR UNDER
NEITHER SAID THEIRSELF UNLESS
NEVERTHELESS
SAME THEIRSELVE UNTIL
NINE SAT THEM UNTO
NINETEEN SATURDAY THEMSELVE UP
NO SAY THEN UPON
NOBLEWOMAN SEE THERE US
NOBODY SEEMED THEREAFTER USE
NONE SELF THEREBY VERY
NOR SEP THEREFORE VIZ
NOT SEPT THEREFROM WAS
NOV SEPTEMBER THEREIN WE
NOVEMBER SEVEN THEREOF WED
NOW SEVENTEEN THEREON WEDNESDAY
O.S SEVERAL THERETO WERE
OCT SHE THEREWITH WHAT
OCTOBER SHOULD THESE WHATE'ER
OF SINCE THEY WHATEVER
OFF SIR THIRTEEN WHATSOE'ER
OFTEN SIX THIS WHATSOEVER
ON SIXTEEN THOSE WHEN
ONE SO THOU WHENEVER
ONESELF SOME THOUGH WHENSOEVER
WHERE 17TH
WHEREBY 18TH
WHEREEVER 19TH
WHEREIN 2D
WHETHER 2ND
WHICH 20TH
WHICHEVER 21ST
WHICHSOEVER
3D
WHILE 3RD
WHO 4TH
WHOEVER 5TH
WHOM 6TH
WHOMSOEVER 7TH
WHOSE 8TH
WHOSESOEVER
9TH
WHOSO
WHOSOEVER
WHY
WILL
WITH
WITHIN
WITHOUT
WOULD
YA
YE
YES
YESTERDAY
YET
YON
YOU
YOUR
YOUR'N
YOURSELF
1ST
10TH
11TH
12TH
13TH
14TH
15TH
16TH
______________________________________
______________________________________
List B
Example of COMPANY INDICATOR LIST
Copyright 1995
LEXIS-NEXIS, a Division of Reed Elsevier Inc.
______________________________________
BROS
BROS.
BROTHERS
CHARTERED
CHTD
CHTD.
CL
CL.
CO
CO.
COMPANY
CORP
CORP.
CORPORATION
CP
CP.
ENTERPRISES
GP
GP.
GROUP
INC
INC.
INCORP
INCORP.
INCORPORATED
INE
INE.
LIMITED
LNC
LNC.
LTD
LTD.
______________________________________
______________________________________
List C
Example of PRODUCT NAME LIST
Copyright 1995
LEXIS-NEXIS, a Division of Reed Elsevier Inc.
______________________________________
240sx Infinity Reebok
300sx Ingres Rolaids
4-Runner JVC SA8
7Up Jaguar Sable
Access Jeep Sentra
Adobe Keds Seven-Up
Altima Kleenex Solaris
Arid L.O.C. Sony
Avia Lexus Sprite
B-17 Linux Suave
B17 Lotus Sun
BMW Magnavox Sybase
Bayer Maxima Taurus
Blazer Mercedes Tide
Bounty Minolta Toshiba
Camary Mitsubishi Tums
Cannon Mustang Tylenol
Chevy Nike Windex
Cirrus Nikon Windows
Coke O52 Yashika
Converse Oracle Zoom
Corvette P100
Etonic P120
Excel P133
F-14 P60
F-15 P75
F-16 P90
F-18 Paradox
F-22 Pepsi
F14 Preparation-H
F15 Puffs
F16 Puma
F18 Quicken
F22 Rave
______________________________________
______________________________________
List D
Example of ORGANIZATION INDICATOR LIST
Copyright 1995
LEXIS-NEXIS, a Division of Reed Elsevier Inc.
______________________________________
ADMINISTRATION MEN
AGENCY ORGANIZATION
ARMY PARLIAMENT
ASSEMBLY PARLIMENT
ASSOCIATION PARTY
BOARD REPUBLIC
BUREAU SCHOOL
CENTER SENATE
CHURCH SOCIETY
CLINIC TEAM
CLUB UNION
COLLEGE UNIVERSITY
COMMISSION
COMMITTEE
COMMUNITY
CONGRESS
COUNCIL
COURT
CULT
DEPARTMENT
DEPT
FACTION
FEDERATION
FOUNDATION
GOVERNMENT
GUILD
HOSPITAL
HOUSE
INDUSTRY
INSTITUTE
LEAGUE
______________________________________
______________________________________
List E
Example of ENGLISH FIRST-NAME LIST
Copyright 1995
LEXIS-NEXIS, a Division of Reed Elsevier Inc.
______________________________________
AARON ADOLF ALBERT ALLECIA
ABAGAIL ADOLPH ALBERTA ALLEEN
ABBIE ADOLPHUS ALBIN ALLEGRA
ABBY ADORA ALDO ALLEN
ABE ADRIAN ALDUS ALLENE
ABEGAIL ADRIANE ALEC ALLICIA
ABEL ADRIANNE ALECIA ALLIE
ABELARD ADRIEN ALECK ALLISON
ABIGAIL ADRIENNE ALENE ALLOYSIUS
ABNER AERIEL ALEX ALLY
ABRAHAM AGATHA ALEXANDER ALLYN
ABRAM AGGIE ALEXANDRA ALMA
ACIE AGGY ALEXANDRINA ALMETA
ACY AGNES ALEXEI ALMIRA
ADA AGNETA ALEXI ALMON
ADAH AGUSTIN ALEXIA ALONZA
ADAIR AHARON ALEXIS ALOYSIUS
ADALBERT AIDA ALF ALPHA
ADALINE AILEEN ALFIE ALPHONSUS
ADAM AILEENE ALFIO ALTA
ADDAM AILENE ALFORD ALTHEA
ADDIE AIME ALFRED ALTON
ADDY AIMEE ALFREDA ALVA
ADELA AINSLEE ALFY ALVAH
ADELAIDE AINSLEY ALGERNON ALVESTER
ADELBERT AJA ALICE ALVIN
ADELE AL ALICIA ALYCE
ADELENE ALAIN ALINE AMALIA
ADELINE ALAINE ALISA AMANDA
ADELLA ALAN ALISHA AMARYLLIS
ADELLE ALANAH ALISON AMBER
ADLAI ALANNA ALIX AMBROSE
ADNA ALASTAIR ALLAN AMBROSIA
AMBROSIUS ANNEMARIE ARLO AUDREY
AMELIA ANNETTA ARMAND AUDRIE
AMIE ANNETTE ARMIN AUDRY
AMILE ANNICE ARMOND AUDY
AMITY ANNIE ARNE AUGIE
AMON ANNINA ARNETT AUGUST
AMOS ANNMARIE ARNEY AUGUSTINE
AMY ANSEL ARNIE AUGUSTUS
ANA ANSELM ARNOLD AURELIA
ANABEL ANSON ARON AURELIUS
ANABELLE ANTHONY ART AUSTEN
ANALISE ANTOINE ARTE AUSTIN
ANASTASIA ANTOINETTE ARTEMIS AUTHER
ANATOLY ANTON ARTEMUS AUTRY
ANCIL ANTONE ARTHUR AUVEL
ANDIE ANTONETTE ARTIE AVA
ANDREA ANTONI ARTIS AVERY
ANDREAS ANTONIA ARTY AVIS
ANDREE ANTONIO ARVELL AVITUS
ANDREI ANTONY ARVIE AVON
ANDREJ AP ARVO AVRAM
ANDREW APOLLO ARVON AXEL
ANDY APRIL ASA AZZIE
ANETTA ARA ASHELY AZZY
ANETTE ARAM ASHER BABETTE
ANGELA ARBY ASHLEIGH BAILEY
ANGELICA ARCH ASHLEY BAIRD
ANGELINA ARCHIBALD ASTER BALTHAZAR
ANGELINE ARCHIE ASTOR BAMBI
ANGELIQUE ARETHA ASTRID BARB
ANGIE ARIC ATHENA BARBARA
ANGUS ARICA ATHENE BARBEE
ANITA ARIEL ATTILIO BARBI
ANN ARISTOTLE AUBREY BARBIE
ANNA ARLAN AUBRIE BARBRA
ANNABEL ARLEEN AUBRY BARNABAS
ANNABELLE ARLEN AUD BARNABUS
ANNALEE ARLENE AUDEY BARNABY
ANNE ARLIE AUDIE BARNARD
ANNELIESE ARLIN AUDINE BARNET
ANNELISE ARLINE AUDIO BARNETT
BARNEY BERRY BOBBY BROOKS
BARNY BERT BONME BRUCE
BARRETT BERTHA BONNY BRUNHILDA
BARRY BERTHOLD BOOKER BRUNHILDE
BART BERTON BORIS BRUNO
BARTHOLOMEW
BERTRAM BOYCE BRYAN
BARTON BERTRAND BOYD BRYANT
BASIL BERTRUM BRACIE BRYCE
BAYARD BERYL BRACK BRYON
BEA BESS BRAD BUBBA
BEATRICE BESSIE BRADDOCK BUCK
BEATRIX BETH BRADLEY BUCKY
BEAUREGARD BETSEY BRADLY BUD
BEBE BETSIE BRAINARD BUDDIE
BECCA BETSY BRAINERD BUDDY
BECKY BETTE BRANDI BUEL
BEE BETTIE BRANDY BUELL
BELINDA BETTY BRANKA BUFFIE
BELLA BETTYE BREK BUFFY
BELLE BEULAH BRENARD BUFORD
BEN BEVERLEE BRENDA BUNNIE
BENEDICT BEVERLIE BRENDAN BUNNY
BENJAMIN BEVERLY BRENT BURL
BENJI BEWANDA BRET BURNELL
BENNETT BIFF BRETT BURNETTA
BENNIE BILL BRIAN BURNICE
BENNO BILLIE BRICE BURREL
BENNY BILLY BRIDGET BURT
BENTLEY BIRD BRIDGETT BURTON
BERKE BJARNE BRIDGETTE BURTRAM
BERKELEY BJORN BRIDIE BUSTER
BERKELY BJORNE BRIGIT BUTCH
BERKLEY BLAINE BRIGITTE BYRON
BERLE BLAIR BRIJITTE CAESAR
BERNARD BLAKE BRITNY CAITLIN
BERNETTA BLANCA BRITTANY CAL
BERNETTE BLANCH BRITTNEY CALE
BERNHARD BLANCHE BRITTNY CALEB
BERNICE BOB BROCK CALLA
BERNIE BOBBI BRODERICK CALLIE
BERRIE BOBBIE BROOKE CALLY
CALVIN CARROLL CHARLEEN CHRYSTAL
CAM CARSON CHARLENE CHUCK
CAMDEN CARY CHARLES CHUMLEY
CAMERON CARYL CHARLESE CICELY
CAMILE CARYN CHARLETON CICILY
CAMILLA CAS CHARLEY CINDI
CAMILLE CASEY CHARLIE CINDY
CANDACE CASI CHARLINE CLAIR
CANDI CASPAR CHARLISE CLAIRE
CANDICE CASPER CHARLOTTA CLARA
CANDIS CASS CHARLOTTE CLARA-
BELLE
CANDUS CASSANDRA CHARLTON CLARE
CANDY CASSIE CHAS CLARENCE
CANNIE CASSIUS CHASTITY CLARICE
CARA CATHARINE CHAUNCEY CLARINA
CAREN CATHERINE CHELSIE CLARISSA
CAREY CATHLEEN CHER CLARK
CARI CATHLENE CHERI CLASSIE
CARIN CATHRINE CHERIE CLAUD
CARL CATHRYN CHERYL CLAUDE
CARLA CATHY CHESTER CLAUDELLE
CARLEEN CEASAR CHET CLAUDETTE
CARLENE CEATRICE CHIP CLAUDIA
CARLETON CECELIA CHLOE CLAUDINE
CARLINE CECIL CHLORIS CLAUDIUS
CARLISLE CECILE CHRIS CLAUS
CARLTON CECILIA CHRISSIE CLAY
CARLY CECILY CHRISSY CLAYMON
CARLYLE CEDRIC CHRISTA CLAYTON
CARMINE CEFERINO CHRISTABEL CLEIO
CAROL CELESTE CHRISTABELLE
CLEM
CAROLA CELESTINE CHRISTAL CLEMENT
CAROLANN CELIA CHRISTIAAN CLEMENTINE
CAROLE CELINA CHRISTIAN CLEMENZA
CAROLE CESAR CHRISTIE CLENELL
CAROLINE CHAD CHRISTINE CLEO
CAROLYN CHADWICK CHRISTOFER CLEOPHUS
CAROLYNN CHAIM CHRISTOPH CLEOTHA
CARREN CHANCY CHRISTOPHER CLEOTIS
CARRIE CHANDLER CHRISTOS CLETA
CARRIN CHARITY CHRISTY CLETUS
CLEVE CORKY DAGMAR DARRIN
CLEVELAND CORNEAL DAGWOOD DARRYL
CLEVON CORNELIA DAISEY DARWIN
CLIFF CORNELIUS DAISY DARYL
CLIFFORD CORRIE DALE DASHA
CLIFT CORRINE DALTON DAVE
CLIFTON CORRINNE DAMIAN DAVEY
CLINT CORRY DAMIEN DAVID
CLINTON CORTNEY DAMION DAVIDA
CLIO CORY DAMON DAVIE
CLITUS COSMO DAN DAVY
CLIVE COUNTEE DAN'L DAWN
CLOVIA COURTLAND DANA DEAN
CLOVIS COURTNEY DANIEL DEANDRA
CLOYD COY DANIELLA DEANE
CLYDE CRAIG DANIELLE DEANNA
CODELL CRIS DANNA DEANNE
COLBERT CRISPIN DANNY DEB
COLE CRISPUS DANO DEBBI
COLEEN CRISSIE DANUTA DEBBIE
COLETTE CRISSY DAPHNE DEBBY
COLIN CRISTABEL DARBIE DEBORA
COLITA CRISTA- DARBY DEBORAH
BELLE
COLLEEN CRYSTAL DARCEE DEBRA
COLLETTE CURLESS DARCEY DEBS
COLLIN CURLY DARCI DEDIE
COLON CURT DARCIE DEE
CONNIE CURTIS DARCY DEEANN
CONNY CY DARIEN DEEANNE
CONRAD CYBIL DARIO DEEDEE
CONROY CYBILL DARIUS DEIDRE
CONSTANCE CYNDI DARLA DEL
CONSTANTIA CYNDY DARLEEN DELAINE
COOKIE CYNTHIA DARLENE DELANE
CORA CYRIL DARLINE DELANO
CORABELLE CYRILL DARLYNE DELBERT
CORDELIA CYRILLA DARNELL DELIA
COREY CYRUS DAROLD DELL
CORINE DABNEY DARREL DELLA
CORINNE DACIA DARRELL DELLO
CORKIE DACIE DARREN DELMA
DELMAR DEVORAH DONELL DUAIN
DELMAS DEWANE DONELLE DUAINE
DELMO DEWAYNE DONICE DUANE
DELNO DEWEY DONIS DUB
DELORES DEWITT DONNA DUDLEY
DELORIS DEXTER DONNELL DUEL
DELOY DEZ DONNELLE DUELL
DELTA DIAHANN DONME DUFF
DEMETRICE DIANA DONNY DUFFY
DEMETRIUS DIANE DONOVAN DUGALD
DENARD DIANNA DORA DUKE
DENE DIANNE DORCAS DULCIE
DENICE DICK DORCE DULSA
DENILLE DICKEY DOREEN DUNCAN
DENIS DICKIE DORI DURWARD
DENISE DIDI DORIAN DURWOOD
DENNIE DIEDRE DORIE DUSTIN
DENNIS DIERDRE DORIENNE DUSTY
DENNY DIETER DORINE DWAIN
DENNYS DIETRICH DORIS DWAINE
DENORRIS DIMITRI DOROTHA DWAYNE
DEO DINA DOROTHEA DWIGHT
DEON DINAH DOROTHY DYLAN
DEREK DINO DORRANCE DYNAH
DEREWOOD DION DORRIS EARL
DERICK DIRK DORSEY EARLE
DERL DIXIE DORTHIE EARLENE
DERMOT DMITRI DORTHY EARLINE
DERMOTT DOLLIE DOSHIE EARNEST
DERRALL DOLLY DOT EARNESTINE
DERREK DOLORES DOTTIE EARTHA
DERRICK DOM DOTTY EARTHEL
DERRY DOMENIC DOTY EBEN
DERWOOD DOMENICK DOUG EBENEEZER
DESDEMONA DOMER DOUGIE EBENEZER
DESI DOMINIC DOUGLAS EBERHARD
DESIRE DOMINICK DOUGLASS EBONY
DESIREE DOMINICKA DOY ED
DESMOND DOMINIQUE DOYLE EDD
DESMUND DON DREW EDDIE
DEVON DONALD DRU EDDY
EDGAR ELEONORA ELSIE EPHRIAM
EDGER ELI ELTON ERASMUS
EDIE ELIAS ELVA ERBIN
EDISON ELIC ELVERT ERIC
EDITA ELIJAH ELVIE ERICA
EDITH ELINORE ELVIN ERICH
EDMOND ELIOT ELVIRA ERICK
EDMUND ELISABETH ELVIS ERIK
EDNA ELISE ELVON ERIKA
EDRIS ELISHA ELWOOD ERIN
EDSEL ELISSA ELY ERLAND
EDUARD ELIUS ELZA ERLE
EDWARD ELIZA EMELDA ERMA
EDWIN ELIZABETH EMERiC ERMAN
EDWINA ELIZAR EMERY ERNEST
EDY ELKE EMETT ERNESTINE
EDYTH ELLA EMIL ERNESTO
EDYTHE ELLE EMILE ERNIE
EFFIE ELLEN EMILIE ERNST
EFRAIM ELLERY EMILY ERROL
EGBERT ELLIE EMMA ERVAN
EGIDIO ELLIET EMMALINE ERVEN
EILEEN ELLIOT EMMERY ERVIN
ELA ELLIOTT EMMET ERWIN
ELAINE ELLIS EMMETT ESAU
ELAYNE ELLY EMMIE ESMERELDA
ELBA ELLYN EMMOT ESTA
ELBERT ELMA EMMOTT ESTEL
ELBERTA ELMER EMMY ESTELA
ELDA ELMIRA EMOGENE ESTELLA
ELDINE ELMO EMORY ESTELLE
ELDON ELNOR ENDORA ESTHR
ELDORA ELNORA ENDRE ESTHA
ELE ELOI ENGBLBERT ESTHER
ELEANOR ELOISE ENID ETHAN
ELEANORA ELOUISE ENISE ETHEL
ELEANORE ELOY ENNIS ETHELENE
ELECTRA ELRIC ENOCH ETHELINE
ELENA ELROY ENOLA ETHYL
ELENORA ELSA ENZO ETIENNE
ELENORE ELSBETH EPHRAIM ETTA
ETTIE FARRELL FRANCIA GALE
EUDORA FARRIS FRANCINE GALLON
EUFA FATIMA FRANCIS GARETH
EUGENE FAUN FRANCOIS GARLAND
EUGENIA FAWN FRANCOISE GARNET
EUGENIE FAY FRANK GAROLD
EUGENIO FAYE FRANKIE GARRET
EULA FELECIA FRANKLIN GARRETT
EULALEE FELICIA FRANKLYN GARRIE
EULALIE FELICITY FRANKY GARRY
EULOGIO FELIX FRANNIE GARTH
EUNACE FELIZ FRANNY GARVIN
EUNICE FERD FRANZ GARY
EUPHEMIA FERDINAND FRANZI GASTON
EUSTACE FERGUS FRANZIE GAVIN
EVA FERN FRANZY GAY
EVALEE FERREL FRED GAYE
EVAN FERRELL FREDA GAYLE
EVANDER FERRIS FREDDIE GAYLORD
EVANGELINE FIDELE FREDDY GEARY
EVE FIFI FREDERICH GEMMA
EVELYN FILBERT FREDERICK GENA
EVERETT FILIPPO FREDERIK GENE
EVERETTE FIONA FREEMAN GENEVA
EVETTE FITZ FREIDA GENEVIEVE
EVITA FLETCHER FRIEDA GENIE
EWALD FLO FRIEDRICH GENNARO
EWIN FLOR FRITZ GENNIE
EZEKIEL FLORA FRONA GENNIFER
BZRA FLORANCE FYODOR GENNY
FABIAN FLORENCE GABBEY GENO
FABIEN FLORIDA GABBIE GEO
FAIRLEIGH FLOSSIE GABE GEOFF
FAITH FLOSSY GABRIEL GEOFFREY
FANNIE FLOYD GABRIELE GEORGE
FANNY FONDA GABRIELLE GEORGES
FARAH FONTAINE GABY GEORGETTE
FARLEIGH FORD GAEL GEORGIA
FARLEY FORREST GAETANO GEORGIE
FARRAH FRAN GAGE GEORGINA
FARREL FRANCES GAIL GERALD
GERALDINE GIULIA GREGGORY GWENETTA
GERARD GIUSEPPE GREGORY GWENETTE
GERD GIUSEPPI GRETA GWENITH
GERDINE GIUSEPPINA GRETCHEN GWENN
GERHARD GLADIS GRETEL GWENNE
GERI GLADYCE GRIFF GWENNETH
GERMAIN GLADYS GRIFFIN GWENYTH
GERMAINE GLEN GRIFFITH GWYEN
GEROLD GLENDA GROVER GWYLLEN
GEROME GLENDON GUENTHER GWYN
GERRIE GLENN GUERINO GWYNETH
GERRIT GLENNA GUIDO GWYNNE
GERRY GLENME GUILLERMINA GYULA
GERT GLENNIS GUILLERMO HAILEY
GERTA GLENNON GUISEPPE HAL
GERTIE GLORIA GUNNER HALLIE
GERTRUDE GLYN GUNTER HALLY
GEZA GLYNDA GUNTHER HAMISH
GIA GLYMS GUS HAMPTON
GIACOMO GLYNN GUSSIE HANK
GIDEON GLYNMS GUSSY HANNA
GIFFORD GODFREY GUST HANNAH
GIGI GODFRY GUSTAF HANNE
GIL GODWIN GUSTAV HANNES
GILBERT GOLDA GUSTAVE HANNIBAL
GILDA GOLDIE GUSTAVUS HANS
GILES GOLDY GUSTOV HANSELL
GILLIAN GOMER GUY HARLAN
GILLIGAN GORDAN GWEN HARLEN
GINA GORDON GWENDA HARLEY
GINGER GOTTFRIED GWENDALYN HARLIE
GINNI GRACE GWENDEN HARLY
GINNIE GRACIA GWENDLYN HARMIE
GINNY GRACIE GWENDOLA HARMON
GINO GRADY GWENDOLEN HAROL
GIORA GRAEME GWENDOLINE HAROLD
GIOVANNA GRAHAM GWENDOLY HARREL
GIOVANNI GRANT GWENDOLYN HARRIET
GISELA GRAYCE GWENDOLYNE HARRIETT
GISELLA GREG GWENDY HARRIETTA
GISELLE GREGG GWENETH HARRIS
HARRISON HENRYK HOLLIS ILA
HARROLD HERE HOLLISTER ILAH
HARRY HERBERT HOLLY ILEEN
HARVEY HERBIE HOLLYANN ILENA
HARVIE HERBY HOLLYANNE ILENE
HASSLE HERCULE HOMER ILSE
HATTIE HERLINDA HONEY IMELDA
HATTY HERM HONORIA IMOGENE
HAYDEE HERMA HOPE INA
HAYDEN HERMAN HORACE INGA
HAYDON HERMANN HORST INGE
HAYLEY HERMIE HORTENSE INGGA
HAYWOOD HEROLD HORTENSIA INGRAM
HAZEL HERSCH HORTON INGRID
HEATHCLIFF HERSCHEL HOSBA IOLA
HEATHER HERSHEL HOWARD IONA
HECTOR HESTER HOWIE IONE
HEDDA HESTHER HOYT IRA
HEDDIE HETTA HUBERT IRAD
HEDWIG HETTIE HUEL IRENA
HEIDI HETTLE HUEY IRENE
HEINRICH HETTY HUGH IRIS
HEINZ HEYWOOD HUGO IRL
HELAINE HEZEKIAH HULDA IRMA
HELEN HILARY HULDAH IRVIN
HELENA HILDA HUMPHREY IRVING
HELENE HILDE HUNTINGTON IRWIN
HELGA HILDEGARD HURSCHEL ISAAC
HELMUT HILDE- HY ISAAK
GARDE
HELMUTH HILDRED HYACINTH ISABEL
HELOISE HILDUR HYMAN ISABELLA
HENDRIK HILLARD IAIN ISABELLE
HENDRIKA HILLARY IAN ISAC
HENNIE HILLERY ICHABOD ISADOR
HENNY HIRAM IDA ISADORA
HENRI HIRSCH IGGY ISADORE
HENRIETA HOBART IGNATIUS ISMAH
HENRIETTA HOBERT IGNATZ ISHAM
HENRIETTE HOLLEY IGNAZ ISHMAEL
HENRIK HOLLI IGOR ISIAH
HENRY HOLLIE IKE ISIDOR
ISIDORE JAN JEMIMA JILLIAN
ISMAEL JANA JEMMA JIM
ISOM JANE JEMMIE JIMBO
ISRAEL JANEEN JEMMY JIMME
ISTVAN JANEL JENNIE JIMMIE
ITA JANELL JENNIFER JIMMY
IVA JANELLE JENNY JINNY
IVAN JANET JENS JO
IVANA JANICE JERALD JOAB
IVAR JANIE JERALDINE JOACHIM
IVARS JANINE JERE JOAN
IVETTE JANIS JEREMIAH JOANN
IVEY JANISE JEREMIAS JOANNA
IVIE JANNA JEREMY JOANNE
IVO JAQUELYN JERI JOB
IVONNE JARED JERIANE JOCELYN
IVOR JARRETT JERIE JOCILYN
IVORY JARRYL JERMAIN JOCLYN
IVY JARVIS JERMAINE JODI
IZAAK JAS JEROL JODIE
IZZIE JASMINE JEROLD JODY
IZZY JASON JEROME JOE
JAC JASPER JERRALD JOEL
JACK JAY JERRED JOETTE
JACKI JAYME JERRELD JOEY
JACKIE JAYMEE JERRELL JOFFRE
JACKSON JAYNE JERRI JOH
JACKY JEAN JERRIE JOHANN
JACOB JEANETTE JERROLD JOHANNES
JACOBUS JEANIE JERRY JOHN
JACQUELIN JEANNE JERZY JOHNIE
JACQUELINE JEANNETTE JESS JOHNNA
JACQUELYN JEANNJNE JESSE JOHNNIE
JACQUES JEBEDIAH JESSICA JOHNNY
JADE JED JESSIE JOJO
JAKE JEDEDIAH JETHRO JOLENE
JAKOB JEFEREY JETTA JON
JAMES JEFF JETTIE JONAH
JAMEY JEFFEREY JEWEL JONAS
JAMIE JEFFIE JEWELL JONATHAN
JAMYE JEFFREY JILL JONATHON
JONELL JULIUS KELSEY KORNELIA
JOM JUNE KELVIN KORNELIUS
JONNY JUNEY KEN KRAIG
JORDAN JUNIE KENDALL KRIS
JORDON JUNIOR KENDELL KRISTA
JOSEA JUNIUS KENDRICK KRISTEN
JOSELYN JURGEN KENNETH KRISTI
JOSEPH JUSTEN KENNY KRISTIE
JOSEPHA JUSTICE KENT KRISTIN
JOSEPHINE JUSTIN KERI KRISTINE
JOSEY JUSTINE KERMIT KRISTOFFER
JOSH KALVIN KERRIE KRISTY
JOSHUA KARA KERRY KURT
JOSIAH KAREN KERSTIN KYLE
JOSIE KARIN KERVIN KYM
JOY KARL KERWIN LACEY
JOYCE KARLA KEVIN LACIE
JOYCEANN KAROLA KIERSTEN LACY
JOZEF KASEY KILIAN LADON
JOZSEF KASPAR KILLIAN LAINE
JUBAL KASPER KIM LALAH
JUD KATE KIMBER LAMAR
JUDAH KATERINA KIMBERLEE LAMARTINE
JUDAS KATEY KIMBERLEIGH LAMBERT
JUDD KATHERINE KIMBERLEY LAMONT
JUDE KATHERYN KIMBERLY LANA
JUDI KATHLEEN KIP LANCE
JUDIE KATHRYN KIRBY LANCELOT
JUDITH KATHY KIRK LANE
JUDY KATIE KIRSTEN LANSON
JULEE KATY KIRSTI LARA
JULES KAY KIRSTIE LARENE
JULIA KAYE KIRSTIN LARONE
JULIAN KAYLEEN KIRSTY LARRIS
JULIANE KEENAN KIT LARRY
JULIANNE KEISHA KITTIE LARS
JULIE KEITH KITTY LASKA
JULIEN KELLEY KLAUS LASLO
JULIENNE KELLI KONRAD LASZLO
JULIET KELLIE KONSTAN- LATIC
TINOS
JULIETTE KELLY KOOS LATIMER
LAUANNA LELAH LEVON LISE
LAUNCIE LELAND LEW LISSA
LAURA LELIA LEWELL LIZ
LAUREE LELIO LEWIS LIZA
LAUREL LEMMY LEXIE LIZABETH
LAUREN LEMUEL LEXY LIZZIE
LAURENCE LEN LIANE LIZZY
LAURETA LENA LIBBIE LLEWELLYN
LAURETTA LENARD LIBBY LLOYD
LAURETTE LENDEN LIDA LLOYDA
LAURI LENETTE LIEF LOELLA
LAURIE LENISE LILA LOGAN
LAURIEN LENNIE LILAC LOIS
LAVELL LENNY LILAH LOLA
LAVERA LENORA LILE LOLETA
LAVERN LENORE LILIAN LOLITA
LAVERNA LENWOOD LILIEN LOLLIE
LAVERNE LEO LILITH LOLLY
LAVINA LEOLA LILLIA LON
LAVIMA LEON LILLIAN LOM
LAVONNE LEONA LILLIE LONNA
LAWRENCE LEONARD LILLY LONME
LDA LEONID LILY LONNY
LEA LEONIDA LIN LONSO
LEAH LEONIDAS LINCOLN LONZIE
LEANDER LEONORA LINDA LONZO
LEANE LEOPOLD LINDSAY LONZY
LEANN LERA LINDSEY LORA
LEANNE LEROY LINK LORAIN
LEATHA LES LINNEA LORAINE
LEE LESLIE LINNIE LORANE
LEEANN LESTER LINNY LORAY
LEEANNE LETA LINROY LORAYNE
LEENA LETHA LINUS LOREEN
LEESA LETICIA LINVAL LOREN
LEFFEL LETITIA LINWOOD LORENA
LEFTY LETTIE LINZIE LORENE
LEIF LETTY LINZY LORETA
LEIGH LEVERNE LIONEL LORETTA
LEILA LEVERT LISA LORI
LEITH LEVI LISABETH LORIN
LORNA LUIGI MADELENE MANSEL
LORNE LUKE MADELINE MARABEL
LORRAINE LULA MADELYN MARC
LORRAYNE LULAH MADGE MARCEL
LOTHAR LULU MADIE MARCELIN
LOTTIE LUMMIE MADONNA MARCELL
LOU LUNA MAE MARCELLA
LOUELLA LURLEEN MAGDA MARCELLE
LOUIE LURLENE MAGDALENA MARCELLUS
LOUIS LURLINE MAGDALENE MARCI
LOUISA LUTHER MAGDALINE MARCIA
LOUISE LUZ MAGGIE MARCIE
LOULA LUZERNE MAGGY MARCUS
LOURETTA LYDIA MAGNUS MARCY
LOVELL LYLE MAHALA MARDA
LOVETTA LYMAN MAHALIA MARGARET
LOVETTE LYN MAIA MARGE
LOWELL LYNDA MAIBLE MARGEAUX
LOY LYNDON MAIJA MARGERY
LOYAL LYNN MAJOR MARGI
LUANN LYNNA MAL MARGIE
LUANNA LYNNE MALCOLM MARGO
LUANNE LYNNETTE MALINDA MARGOT
LUBY LYNWOOD MALISSA MARGRET
LUCAS LYSANDER MALKA MARGY
LUCIAN M'LINDA MALLORIE MARIAM
LUCIE MABEL MALLORY MARIAN
LUCIEN MABELLE MALORIE MARIANN
LUCILE MABLE MALORY MARIANNE
LUCILLA MAC MALYNDA MARIBEL
LUCILLE MACE MAME MARIBELLE
LUCINDA MACIE MAMIE MARIBETH
LUCIUS MACK MANDEE MARIE
LUCRETIA MADALAINE MANDI MARIEL
LUCY MADALEINE MANDIE MARIETTA
LUDLOW MADALINE MANDY MARIETTE
LUDWIG MADALYN MANFRED MARILEE
LUDWIK MADDIE MANICE MARILYN
LUDY MADDY MANLEY MARILYNN
LUELLA MADELAINE MANLY MARINA
LUGENE MADELEINE MANNY MARIO
MARION MARYBETH MEAGAN MEYER
MARISSA MARY- MEG MIA
FRANCES
MARJUS MARYLOU MEGAN MIATTA
MARJORIE MASON MEL MICAH
MARJORY MATE MELANIE MICHAEL
MARK MATEY MELANY MICHEL
MARKEE MATHEW MELBA MICHELE
MARKIE MATHIAS MELICENT MICHELLE
MARKOS MATHILDA MELINDA MICK
MARKUS MATILDA MELISSA MICKEY
MARLA MATT MELLICENT MICKIE
MARLENA MATTHEW MELODI MICKY
MARLENE MATTHIAS MELODIE MIDGE
MARLEY MATTIE MELODY MIKAEL
MARLIN MATTY MELONIE MIKAL
MARLON MATTYE MELONY MIKE
MARMADUKE MAUD MELVA MIKEAL
MARNEY MAUDE MELVIN MILAN
MARNIE MAURA MELVYN MILDRED
MARNY MAUREEN MELYNDA MILES
MARSDEN MAURENE MENDEL MILICENT
MARSHA MAUREY MERCEDEL MILLARD
MARSHAL MAURICE MERCEDES MILLICENT
MARSHALL MAURIE MERCY MILLIE
MARTA MAURINE MEREDETH MILLY
MARTEA MAURY MEREDITH MILO
MARTHA MAVIS MERIDETH MILT
MARTI MAX MERIDITH MILTON
MARTICA MAXCIE MERISSA MIMI
MARTIE MAXCINE MERLE MINDY
MARTIKA MAXIE MERLIN MINERVA
MARTILDA MAXIM MERLYN MINNIE
MARTIN MAXI- MERREL MIRANDA
MILIAN
MARTY MAXI- MERRELL MIRIAM
MILLIAN
MARV MAXINE MERRILL MISSIE
MARVA MAXWELL MERRY MISSY
MARVIN MAY MERVIN MISTY
MARY MAYBELLE MERWIN MITCH
MARYAM MAYDA MERWYN MITCHEL
MARYANN MAYME MERYL MITCHELL
MARYANNE MAYNARD META MITZI
MOE NAMIE NEWEL NORA
MOLLIE NAN NEWELL NORAH
MOLLY NANCI NEWT NORBERT
MONA NANCIE NEWTON NOREEN
MONICA NANCY NICHAEL NORM
MONIQUE NANETTE NICHOLM NORMA
MONTE NAM NICHOLAS NORMAL
MONTGOMERY NANNETTE NICK NORMAN
MONTY NANNI NICKI NORRIS
MONY NANNIE NICKIE NORTON
MORDECAI NANNY NICKODEMUS NORVAL
MOREY NAOMA NICKY NUNZIO
MORGAN NAOMI NICODEMO NYLE
MORGANA NAPOLEON NICODEMUS OBADIAH
MORRIS NAT NICOL OBED
MORT NATALIE NICOLA OBEDIAH
MORTIMER NATASHA NICOLM OCIE
MORTON NATASSIA NICOLAS OCTAVE
MORTY NATHAN NICOLE OCTAVIA
MOSE NATHAMEL NICOLETTE ODEL
MOSES NATWICK NICOLLE ODELL
MOZELLE NAZARETH NICOLO ODESSA
MULLIGAN NEAL NIGEL ODIE
MURIEL NEALY NIKA ODIS
MURPHY NED NIKE OGDEN
MURRAY NEDINE NIKI OKTAVIA
MURRELL NEIL NIKITA OLA
MURRY NEILL NIKITAS OLAF
MYLES NELDA NIKKI OLAN
MYNA NELL NILE OLEG
MYRA NELLE NILES OLEN
MYRAH NELLIE NILS OLGA
MYRAL NELLY NIMROD OLIN
MYREN NELS NINA OLIVE
MYRNA NELSON NOAH OLIVER
MYRON NENA NOE OLIVIA
MYRTLE NERO NOEL OLLEN
NADENE NERSES NOLA OLLIE
NADIA NESTOR NOLAN OLOF
NADINE NETFIE NONA OMER
NADJA NEVILLE NONNIE ONAL
ONEL PAGE PENNY PRUDENCE
ONNIK PAIGE PER PRUE
OPAL PAM PERCIVAL PRUNELLA
OPEL PAMELA PERCY QUEEN
OPHELIA PANSY PERRY QUEENIE
OPRAH PAOLO PERSIS QUEENY
ORA PARL PETE QUENTIN
ORAL PARNELL PETER QUINCY
ORAN PARRY PETRA QUINNIE
OREN PASCAL PETRO RACHEL
ORESTE PASCHAL PETROS RACHELLE
ORIN PASQUALE PHEBE RAE
ORLAN PAT PHEUM RAIFORD
ORLEN PATIENCE PHIDIAS RALPH
ORLIN PATRICE PHIL RAMONA
ORLYN PATRICIA PHILBERT RANDAL
ORPHA PATRICK PHILIP RANDALL
ORSON PATSY PHILIPPE RANDI
ORTON PATTI PHILLIP RANDIE
ORTRUD PATTIE PHILO RANDOLF
ORVAL PATTY PHINEAS RANDOLPH
ORVID PAUL PHOEBE RANDY
ORVIL PAULA PHYLLIS RANSOM
ORVILLE PAULETTE PIA RAPHAEL
OSBERT PAULINA PIER RAQUEL
OSCAR PAULINE PIERCE RAY
OSGOOD PAVEL PIERINA RAYFORD
OSIE PEARCE PIERRE RAYMOND
OSSIE PEARL PIERS RBT
OSWALD PEARLENE PIETER REAGAN
OTHA PEARLIE PIETRO REBA
OTHIS PEARLINE PLATO REBECCA
OTIS PEARLY POINDEXTER RECTOR
OTTIS PEDER POLUE REED
OTTO PEG POLLY REGAN
OVE PEGGI PORTIA REGGIE
OVETA PEGGIE PRECY REGGY
OWEN PEGGY PRESTON REGINA
OZZIE PENELOPE PRINCE REGINALD
PADDIE PENNI PRINCESS REGIS
PADDY PENNIE PRISCILLA REID
REINHARDT RIPLEY RONNETTE ROXIE
REINHOLD RISA RONNIE ROXY
REMI RITA RONNY ROY
REMO RITCHIE ROOSEVELT ROYAL
REMUS RITHA RORY ROYCE
RENA ROB ROSALEE ROZALIA
RENATA ROBBI ROSALIA ROZALIE
RENATE ROBBIE ROSALIE RUBAN
RENE ROBBIN ROSALIND RUBEN
RENEE ROBBY ROSALINDA RUBENA
RETA ROBERT ROSALYN RUBERT
RETHA ROBERTA ROSALYND RUBEY
REUBAN ROBIN ROSAMOND RUBIE
REUBEN ROBINA ROSAMONDE RUBIN
REUBENA ROBINETTE ROSAMUND RUBINA
REUBIN ROBYN ROSAMUNDE RUBY
REUBINA ROCCO ROSANNA RUBYE
REVA ROCHELLE ROSANNE RUDDY
REX ROCKY ROSCOE RUDOLF
REXFORD ROD ROSE RUDOLPH
REY RODDIE ROSEANN RUDY
REYNALD RODERIC ROSEANNE RUE
REYNOLD RODERICH ROSEBUD RUEBEN
RHEA RODERICK ROSELIN RUFUS
RHINELANDER
RODGER ROSELYN RULOEF
RHODA RODNEY ROSEMARIE RUPERT
RHONA RODRICK ROSEMARY RUSS
RHONDA ROGER ROSEMUND RUSSELL
RHYS ROLAND ROSEMUNDE RUSTY
RICARD ROLF ROSENA RUTH
RICH ROLFE ROSETTA RUTHANNA
RICHARD ROLLO ROSIE RUTHANNE
RICHELLE ROMAN ROSINA RUTHIE
RICHIE ROMEO ROSLYN RUTHLYN
RICK ROMULUS ROSS RYAN
RICKEY RON ROSWELL SABA
RICKI RONA ROSWITHA SABINA
RICKIE RONALD ROULETTE SABINE
RICKY RONDA ROWENA SABRINA
RIKKI RONDELL ROWLAND SADIE
RILEY RONETTE ROXANNE SAL
SALLI SHARI SIDNEY STACIE
SALLIE SHARLENE SIEGFRIED STACY
SALLY SHARON SIG STAN
SALLYE SHARYN SIGFRIED STANISLAW
SALOMON SHAUN SIGMUND STANLEY
SAM SHAWN SIGNE STANLY
SAMANTHA SHAWNA SIGURD STEFAN
SAMMIE SHAYNE SILAS STEFFI
SAMMY SHEARL SILVIA STELLA
SAMUAL SHEBA SILVIO STEPHAN
SAMUEL SHEENA SIMEON STEPHANIE
SANDI SHEILA SIMON STEPHEN
SANDIE SHELBY SIMONE STERLING
SANDRA SHELDEN SIMONNE STEVE
SANDY SHELDON SISSIE STEVEN
SANJA SHELIA SISSY STEVIE
SARA SHELLEY SKEET STEWART
SARAH SHELLY SKIPPIE STU
SAUL SHELTON SKIPPY STUART
SCHUYLER SHERI SKYLER SUANN
SCOT SHERIDAN SLIM SUANNE
SCOTT SHERIE SMEDLEY SUE
SCOTTIE SHERILYN SOFIE SUELLEN
SCOTTY SHERL SOL SUMNER
SEAMUS SHERLE SOLOMAN SUNNIE
SEAN SHERLEE SOLOMON SUNNY
SEBASTIAN SHERMAN SONDRA SUSAN
SEFERINO SHERON SONIA SUSANA
SELDEN SHERREE SONJA SUSANNA
SELENA SHERRI SONNY SUSANNAH
SELENE SHERRIE SONYA SUSANNE
SELINA SHERRY SPARKY SUSETTE
SELMA SHERWIN SPENCE SUZAN
SELMER SHERYL SPENCER SUZANNE
SERENA SHIRL SPENSER SUZELLEN
SERINA SHIRLE SPIRO SUZETTE
SETH SHIRLEE SPIROS SUZI
SEYMORE SHIRLEY SPYROS SUZIE
SEYMOUR SI STACEY SUZY
SHANE SIBYL STACI SVEN
SHANNON SID STACIA SWEN
SY TERRI THURSTAN TREVOR
SYBIL TERRILL THURSTON TREY
SYD TERRY TIBOR TRICIA
SYDNEY TERRYL TIFFANY TRILBY
SYLVAN TESS TILLIE TRINA
SYLVANUS TESSIE TILLY TRISH
SYLVENE TESSY TIM TRISTAM
SYLVESTER TEX TIMMY TRISTAN
SYLVIA THAD TIMO TRIXIE
SYLVIE THADDEUS TIMOTHY TRIXY
SYLVINA THADEUS TINA TROY
TABATHA THARON TINO TRUDIE
TABITHA THEA TIPHANIE TRUDY
TAD THEDA TIPHANY TWALA
TAFFY THEIMA TITO TWILA
TALLULAH THELMA TITUS TWYLA
TAMARA THEO TOBIAS TYCHO
TAMI THEOBALD TOBY TYCHUS
TAMMI THEODIS TODD TYCUS
TAMMIE THEODOR TOLLIE TYRONE
TAMMY THEODORA TOLLIVER UDIE
TANCRED THEODORE TOLLY UDY
TAMA THEODORIS TOM ULRICH
TANJA THEODOSIA TOMMIE ULYSSES
TANYA THEONE TOMMY UNA
TASHA THEORA TONEY URA
TATE THEOTIS TOM URBAIN
TATIANA THERESA TOMA URIAS
TAUBA THERESIA TONY URSULA
TED THERESSA TONYA VACHEL
TEDD THOM TOOTIE VADA
TEDDY THOMAS TOVE VAL
TEE THOMASINA TRACEE VALDA
TELMA THOR TRACEY VALENTIN
TENA THORA TRACI VALENTINE
TENCH THORE TRACIE VALENTINO
TERENCE THORNTON TRACY VALERIA
TERESA THORVALD TRAVER VALERIE
TERRANCE THOS TRAVIS VALTER
TERRELL THURMAN TRENA VANCE
TERRENCE THURMOND TRENT VANDER
VANDY VINCENT WAYMAN WINNIFRED
VANBSSA VINNIE WAYNE WINNY
VAUGHAN VINNY WELDEN WINONA
VAUGHN VIOLA WELDON WINSLOW
VEDA VIOLET WELLS WINSTON
VELLA VIRACE WENDEL WINTHROP
VELMA VIRDA WENDELL WINTON
VELVA VIRGIE WENDI WM
VEOLA VIRGIL WENDY WOLFGANG
VERA VIRGINIA WERNER WOODIE
VERDEEN VIRGIMUS WES WOODROW
VERDELL VITA WESLEY WOODRUFF
VERGA VITINA WESLIE WOODY
VERGIL VITINO WESTLEY WYATT
VERLIE VITO WHITNEY WYLA
VERLIN VITTORIA WIDDIE XAVIER
VERLON VIVIAN WILBER XAVIERA
VERLYN VIVIANNE WILBERFORCE YARDLEY
VERN VIVIEN WILBERT YETTA
VERNA VLAD WILBUR YOLANDA
VERNARD VLADIMIR WILDA YOSEF
VERNE VOL WILEY YVES
VERNEST VON WILFORD YVETTB
VERNESTINE VONDA WILFRED YVONNE
VERNICE VONNA WILHELM ZACHARIA
VERNIE WADE WILHELMENA ZACHARIAH
VERNON WALDEMAR WILHELMINA ZACHARY
VERONICA WALDO WILHEMENA ZACK
VERSA WALDORF WILHEMINA ZALPH
VERSIE WALLACE WILLARD ZANE
VI WALLIE WILLIAM ZEB
VIC WALLY WILLIE ZEBADIAH
VICKI WALT WILLIS ZEBEDEE
VICKIE WALTER WILLMA ZECHARIAH
VICKY WANDA WILLY ZEF
VICTOR WARD WILMA ZEFF
VICTORIA WARREN WILMAR ZEKE
VIDAL WASHING- WILMOT ZELDA
TON
VIE WAYLAN WINFRED ZELIA
VILMA WAYLEN WINIFRED ZELIG
VINCE WAYLON WINNIE ZELL
ZELLA
ZELLE
ZELMA
ZENA
ZENITH
ZENO
ZENOBIA
ZENON
ZEPHERY
ZETA
ZETTA
ZEV
ZILLA
ZILLAH
ZINA
ZITA
ZIVKO
ZOE
ZOLLIE
ZOLLY
ZORA
ZULA
ZYGMUND
ZYGMUNT
______________________________________
Modifications and variations of the above-described embodiments of the present invention are possible, as appreciated by those skilled in the art in light of the above teachings. As mentioned, any of a variety of hardware systems, memory organizations, software platforms, and programming languages may embody the present invention without departing from its spirit and scope. Moreover, countless variations of the Partition List, company indicators, product names, organization indicators, English first name list, and resulting Phrase Lists, and the like, may be employed or produced while remaining within the scope of the invention. It is therefore to be understood that, within the scope of the appended claims and their equivalents, the invention may be practiced otherwise than as specifically described.
| «Previous |
Next» |
| Processing names in a text |
Method and apparatus for handling and detecting an invalid use of a data structure |
|
- Inventors
Lu, Xin Allan; Miller, David James; Wassum, John Richard;
- Assignee
Lexis-Nexis (Miamisburg, OH)
- Published
Oct-6-1998
- Current US Classes:
707/1 707/3 707/4 707/5
- Application #
589468
- International Classes
G06F 017/30
- Field of Search
395/604 395/603 395/605 395/600 395/602 707/3 707/1 707/4 707/5
- Examiner
Black; Thomas G.
- Agent
Reid & Priest LLP
- US Patent References:
4864502 4868750 4914590 4931936 4994966 5123103 5146405 5161105 5225981 5251316 5265065 5287278 5289375 5297042 5299124 5410475 5418948 5481742 5488725
|