Reverse electronic dictionary using synonyms to expand search capabilities5649221Abstract A method for the retrieval from an electronic dictionary of a word which is known or believed to exist but can not be brought to mind or a word that is thought may exist, to replace a pedestrian word or phrase. A complete thesaurus and dictionary are needed to establish numeric codes. The numeric codes designate synonym groups and are assigned to thesaurus entries and are thereafter transferred to corresponding dictionary entries and their definition words. The synonym groups can be expanded to include related words and words that are not technically synonyms. Words having no synonyms are assigned unique numeric codes or can be included within the synonym groups of one or more related words. The user enters one or more search words which are thought may exist in the definition of the word sought. After locating the numeric code(s) for the search word(s) the dictionary is searched for words having those numeric code(s) within their definitions. As each of such words is found it is displayed as a candidate for the word sought. At any time after a candidate is displayed the user can view the full dictionary listing for that word. The numeric codes are internal to the computer and are not visible to the user. Claims We claim: Description FIELD OF THE INVENTION
TABLE I
______________________________________
Column A Column B Column C
______________________________________
acephalous lacking without
head leader
acrophobia dread fear
height altitude
alveolus small little
cavity hole
bulimia constant continual
craving desire
collegium group gathering
equal same
pedant show flaunt
knowledge erudition
poltergeist noisy clangorous
ghost spook
sally saying adage
witty facetious
shrive free release
guilt blame
votive offered tendered
vow promise
______________________________________
Column A: main entry words
Column B: words which yield main entry word using Merriam Webster's
Electronic Dictionary
Column C: words which will not yield main entry word using Merriam
Webster's Electronic Dictionary
Note: both words in Column B and in Column C will yield the main entry
word of Column A with the present invention
It is an object of the present invention to provide an electronic word retrieval system or dictionary that is not specific to a single set of defining words. It is another object of the present invention to provide an electronic dictionary based largely on a wide database of synonyms that are compartmented into various synonym groups. Another object of the present invention is to have numeric codes assigned to all main entry words and all words found in their respective definitions. It is a further object of the present invention to use only synonym groups that are appropriate to the word sought. A still further object of the present invention is to enhance the speed of retrieval by avoiding manipulation of irrevelevant synonym groups. A further object of the present invention is to assign the numeric codes using all available number combinations starting with the lowest numbers. A still further object of the present invention is to assign the lowest numbers to the most frequently used words to speed search capabilities. Another object of the present invention is to enable the user to view all candidate words and obtain the full dictionary entry for any candidate word at his or her discretion. A still further object of the present invention is to have the numeric codes stored in memory for computer access, but not visible to the user. Other features and advantages of the invention will be seen from the following description, tables and flow diagrams. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a flow chart illustrating the process for collapsing multiple entries under a single entry word. FIG. 2 is a flow chart illustrating the initial thesaurus processing wherein the numeric codes are assigned to the main entries. FIG. 3 is a flow chart illustrating the final thesaurus processing wherein the numeric codes are assigned to the secondary entries. FIG. 4 is a flow chart illustrating the initial dictionary processing. FIG. 5 is a flow chart illustrating the final dictionary processing. FIG. 6 is a flow chart illustrating the reprocessing of the numeric codes. FIG. 7 is a flow chart illustrating the search sequence of the present invention. DETAILED DESCRIPTION OF THE INVENTION The reverse dictionary of the present invention depends on a dictionary database numerically encoded for quick and easy access. Every main entry word as well as each word in each definition is assigned a numeric code, either a synonym group numeric code or, if the word has no synonym, a unique identifier. One, or more often two defining words are entered for the search. The numeric codes for the defining words are found and stored. Thereafter, the search proceeds by locating main entry words having the numeric codes for both of the entered defining words within their definitions. As each such main entry word is found it is displayed as a candidate for the word sought. The user can call up the full dictionary entry for any candidate word as soon as it appears on the screen. A storage system large enough to hold entire thesaurus and dictionary files with 20 to 30 megabytes in excess memory is required to effect the process which is performed in two phases. Phase I establishes the complex system of numeric codes required for the computer assisted search, and Phase II sets forth the actual search sequences. Once the final numeric codes have been assigned, Phase I is completed and the thesaurus can be removed from memory. The published material (CD ROM, diskettes, etc.) need only hold the complete dictionary with the numeric codes and the search command sequence. The process works best with a thesaurus and dictionary that complement each other. The nomenclature used herein is that found in Webster's Collegiate Thesaurus and Webster's Collegiate Dictionary and these references were used for all of the examples cited. However, the process can be accomplished with any dictionary and thesaurus combination. PHASE I (establishing and assigning the numeric codes): The entire thesaurus is loaded into the computer storage system for examination and processing. Multiple entries of the same word frequently occur in a thesaurus to differentiate the meanings associated with various parts of speech, for example, when the same word is used as a noun and an adjective, a noun and a verb, an adverb and a proposition, etc. It is unrealistic for users to make these distinctions and requiring them to do so will only add complexity to the system. Therefore, multiple entries are collapsed into one single entry. The first step in processing the thesaurus is to examine the thesaurus entries for each multiple occurrence of the same word. (Table IIA) Referring to FIG. 1, all entries of the same word are removed except for the first such entry. All of the synonyms that were associated with each of the successive entries are appended to the synonym group of the first entry. (Table IIB) When this step has been completed, there will be only one entry for each thesaurus main entry word. The main entries are identified as those words having listings which include an illustrative sentence. In Webster's Collegiate Thesaurus these sentences are enclosed in angle brackets (<>).
TABIE II A
______________________________________
Sample thesaurus entries
______________________________________
aback adv
syn UNAWARES short, sudden etc.
abaft, adv < >
syn aft, astern
abaft prep < >
syn back of, behind
abalienate vb
syn TRANSFER alien, alienate, etc
abandon vb < >
syn chuck, desert, forsake, etc.
syn RELINQUISH, cede, give up, etc.
abandon n < >
syn UNCONSTRAINT, ease, naturalness, etc.
syn impulsiveness, uninhibitedness,
unrestraint, etc.
abandoned adj < >
syn DERELICT deserted, desolate
syn dissolute, licentious, etc.
______________________________________
With reference to FIG. 2 a synonym group numeric code is assigned to each main entry. The numeric codes are assigned beginning with the first main entry and continuing in alpha sequence as seen in Table IIIA. The synonym group numeric codes consist of five (5) digits, wherein the first three digits represent the page in the thesaurus on which the word is found and the last two digits represent the numerical order of the main entry on that page. That same synonym group numeric code will eventually be assigned to each of the synonyms of the main entry word. These include any synonyms appended to that word due to multiple entries as noted above. The program is not designed to distinguish the parts of speech. However, each part of speech will have different synonyms and those will be associated with a main entry word.
TABLE III A
______________________________________
Assigmnent of Synonym Group Numeric Codes to
Thesaurus Main Entry Words
______________________________________
SKIP aback adv
syn UNAWARES short, sudden etc.
00102 abaft adv < >
syn 00102 aft, 00102 astern
syn 00102 back of, 00102 behind
SKIP abalienate vb
syn TRANSFER alien, alienate, etc.
00105 abandon vb < >
syn 00105 chuck, 00105 desert, 00105 forsake, etc.
syn RELINQUISH, cede, give up, etc.
syn UNCONSTRAINT, ease, naturalness, etc.
syn 00105 impulsiveness, 00105 uninhibitedness,
00105 unrestraint, etc.
00107 abandoned adj < >
syn DERELICT deserted, desolate
syn 00107 dissolute, 00107 licentious, etc.
______________________________________
Note:
Main entries are recognized by usage of the word in a sentence designated
herein by the symbol <
Synonym group numeric codes are only assigned to main entries. Those
numbers, as illustrated above., are later assigned to their synonyms.
Secondary entries are indicated by a word printed in all capital letters
and are assigned synonym group numeric codes later.
When all of the main entries have been assigned synonym group numeric codes, the secondary entries are examined. Each secondary entry is assigned its appropriate synonym group numeric code. Refer to FIG. 3. In the Webster's Collegiate Thesaurus the secondary entries can be recognized by the inclusion of one or more words printed in all capital letters. Each secondary entry is listed elsewhere as a main entry. The numeric code is obtained from the listing of the word in capitals as a main entry. This way the appropriate numeric code is assigned to the word and duplication or use of extra numbers is avoided. If more than one secondary entry is located, each must be assigned its proper numeric code. When this step has been completed, all main entries, all secondary entries and all of their respective synonyms will have one or more synonym group numeric codes as illustrated in Table III B.
TABLE III B
______________________________________
Assignment of Synonym Group Numeric Codes to
Thesaurus Secondary Entry Words
______________________________________
79223 aback adv
syn 79223 UNAWARES, 79223 short,
79223 sudden etc.
00102 abaft adv < >
syn 00102 aft, 00102 astern
syn 00102 back of, 00102 behind
77702 abalienate vb
syn 77702 TRANSFER, 77702 alien,
77702 alienate, etc.
00105 abandon vb < >
syn 00105 chuck, 00105 desert, 00105 forsake, etc.
syn 61218 RELINQUISH, 61218 cede,
61218 give up, etc.
syn 79626 UNCONSTRAINT, 79626 ease,
79626 naturalness, etc.
syn 00105 impulsiveness, 00105 uninhibitedness,
00105 unrestraint, etc.
00107 abandoned adj < >
syn 20111 DERELICT, 20111 deserted,
20111 desolate etc.
syn 00107 dissolute, 00107 licentious,
00107 profligate, etc.
______________________________________
Note:
After assigning synonym group numeric codes to the secondary entries the
word "abandon" has 3 synonym group numeric codes, 00105, 61218, 79626, an
the word "abandoned" has 2 synonym group numeric codes 00107 and 20111.
The next step is to load the entire dictionary into the computer storage system containing the thesaurus. Referring to FIG. 4, each dictionary main entry is examined for a match with a main or secondary entry from the thesaurus. When a match is found, the five digit synonym group numeric code (or codes) is affixed to the dictionary main entry word. If no match is found, indicating that the main entry has no synonym, a unique six digit numeric code is affixed to the dictionary word. The six digit number is comprised of four digits for the dictionary page on which it is found and two digits for the position of the word on that page. After all dictionary main entries have been examined, each will have been assigned one or more synonym group numeric codes which are not unique, or a unique six digit numeric code which indicates that the word has no synonym or does not belong to a synonym group. The thesaurus was needed to establish the synonym group numeric codes and once this has been accomplished it is no longer needed. All of the data from the thesaurus can now be removed from memory leaving the entire dictionary with the appropriate numeric codes affixed to each main entry. From this point on, a synonym data base per se is no longer needed. Having established numeric codes for all dictionary main entry words, their definitions are examined and each word in each definition is assigned the numeric code associated with its listing as a dictionary main entry word. There will be instances where different definition words will have the same numeric code(s). This happens when two or more words in a definition are synonyms. There may also be words in a definition that are repeated so that the assigned numeric code(s) will be repeated. Redundant numeric codes are eliminated. See FIG. 5 and the example in Table IV.
TABLE IV
______________________________________
Illustration of the sequence in the assignnent of synonym
group numeric codes to a main entry definition in the dictionary
______________________________________
086120 PHILOLOGY
the study of literature and of disciplines relevant to
literature or to language as used in literature
086120 PHILOLOGY
the 120816 study 62405, 05409, 28404, 15419, 65219
of 079645 literature 067208 and 004309 of 079645
disciplines 58930, 85609, 58928, 75429
relevant 61209 to 76906, 02017, 07328, 82016
literature 067208 or 080642
to 76906, 02017, 07328, 82016
language 43922, 75822 as 07216 used 82514
in 73011, 58829 literature 067208
086120 PHILOLOGY
the 120816 study 62405, 05409, 28404, 15419, 65219
of 079645 literature 067208 and 004309 of --
disciplines 58930, 85609, 58928, 75429
relevant 61209 to 76906, 02017, 07328, 82016
literature -- or 080642 to --
language 43922, 75822 as 07216 used 82514
in 73011, 58829 literature --
Note:
after a word is assigned its numeric codes, the numbers are not repeated
the successive times the same word is used
The numeric codes assigned in a given definition are sorted and arranged in ascending order and positioned immediately following the dictionary main entry word but before the usual dictionary information which includes the pronunciation, word origin, etc. The user can only see the usual dictionary information, but the computer has access to the numeric codes for each main entry and the sequence of numeric codes obtained from the definition, arranged in ascending order. This sequence of steps is illustrated in FIG. 5 and an example is provided in Table IV. One of the significant improvements offered by the present invention is its ability to limit the numeric codes to 65,536, the 16th power of 2 (the natural limitation of two bytes of eight bits each). To remain within this limiting number, it is necessary to count the occurrences of numeric codes assigned to definition words, renumbering them so that those occurring most frequently are assigned the lowest numbers (five digit numbers). All possible numbers should be utilized. See FIG. 6. By assigning the lowest numbers to the words most frequently used, they are accessed first and greatly facilitate the definition searches. There are many entry words that are not used in any definitions and therefore need no number assigned to them. These consist of obscure words and scientific terms as seen in Table V. (Other examples: ganister, ganja, gannet, gantelope, gantlet . . . ) Gerunds and other verb forms that are not useful as key words in definition searches will not have assigned numbers. Numeric codes for very short common words such as articles or prepositions which are not useful as key words in definition searches can be eliminated. This procedure is also illustrated in Table IV. These eliminations, in addition to helping stay within the 65,536 limit, will increase search speed. As previously noted, many main entries will have more than one numeric code. These were necessary when the main entry numeric codes were assigned to the dictionary definition words. Now, all except the lowest number assigned to each main entry dictionary word can be eliminated as seen in FIG. 6 and illustrated in Table V. Only the lowest number for the main entry listing is needed, but it must conform to the renumbering scheme described above. The numeric codes associated with the definitions are not affected.
TABLE V
______________________________________
Illustration of the removal of unnecessary numeric codes
(Each of the words listed below would be followed by the sequence of
numeric codes for the definition words and the definitions, parts of
speech and other dictionary information)
______________________________________
BEFORE REMOVAL OF UNNECESSARY NUMERIC CODES:
000135 abaca
79223 aback
000137 abacterial
000138 abacus
00102 abaft
77702 abalienate
00105, 61218, 79626 abandon
00107, 20111 abandoned
AFTER REMOVAL OF UNNECESSARY NUMERIC CODES:
000135 abaca
.cndot. aback
.cndot. abacterial
000138 abacus
00102 abaft
.cndot. abalienate
00105 abandon
00107 abandoned
______________________________________
Notes:
.cndot.aback, abacterial and abalienate are used in no definitions so
their numeric codes are eliminated
"abandon" loses the numeric codes 61218 and 79626
When a user enters "relinquish" or "unconstraint" or any of their
synonyms, 61218 or 79626 will be retrieved. These numeric codes will have
been placed with any definition which includes those words or their
synonyms, including "abandon". "Abandoned" loses the numeric code 20111
for the same reason.
Once the numeric codes are in place within the dictionary the database is complete and the word retrieval system can be utilized. All of the usual dictionary information such as parts of speech, pronunciation, definition, roots and derivations, etc., remains in the database and can be accessed when needed. None of the numeric codes can be seen by the user. They are used only by the computer for the search sequence. PHASE II (conducting the search): Referring to FIG. 7, a computer program is written to conform to the following steps for retrieving a word for which the approximate definition is known or imagined (the reverse dictionary): 1. One or more key definition words are chosen. Two key words work well. 2. The first definition word is typed and entered 3. The search of the main entry words is immediately begun for a match for the word entered 4. When the word is found, the numeric code for that word is stored 5. The tab key is struck and the second definition word is typed and entered 6. The search of the main entry words is immediately begun for a match for the second word entered 7. When the word is found, the numeric code for this word is stored (Both of these searches are instantaneous. The numeric codes are the critical data and it is on these stored numbers that the retrieval depends.) 8. The two numeric codes are compared. The smaller number designates the "primary word" while the other becomes the "secondary word" for search purposes. 9. The definition word numeric codes following each dictionary main entry word are searched in sequence for a match with the primary word numeric code. (Since the numeric codes following the dictionary main entry words were arranged in ascending order, the search continues only until a match or a number larger than itself is found. See Table VI. The smaller the primary word numeric code, the shorter the search time required for a match.)
TABLE VI
______________________________________
Example of computer search sequence
______________________________________
Definition words entered: study language
Computer finds the words and stores their numeric codes:
study 05409 language 43922
Primary word:
study 05409 (smaller number)
Secondary word:
language 43922 (larger number)
Computer now searches for the primary word numeric code among
the numbers listed after each main entry in the dictionary. As soon
as the numeric code is located, the computer searches that same
definitionfor the secondary word numeric code. When found, the
main entry is listed on the screen as a "candidate". All definitions
are searched for the primary word numeric code. Each time the
primary word numeric code is found, a search is made for the
secondary word numeric code in the same definition.
The search ends when all main entries containing both numeric
codes are located and displayed as candidates, (or no definition
containing both words is found):
086120 PHILOLOGY
05409, 15419, 28404, 43922, 58928, 58930, 61209
62405, 65219, 75429, 75822, 82514, 85609
067208
Computer now lists PHILOLOGY as a candidate word. User can now
click on PHILOLOGY and the entire dictionary listing will appear and
the user can decide if PHILOLOGY was the word sought.
Alternate definition words: literature language
Computer finds the words and stores their numeric codes:
literature
067208 language 43922
Primary word:
language 43922 (5 digit number)
Secondary word:
literature
067208 (6 digit number)
Search sequence is begun as stated above. Both numeric codes are
found in the definition of PHILOLOGY.
086120 PHILOLOGY
05409, 15419, 28404, 43922, 58928, 58930, 61209
62405, 65219, 75429, 75822, 82514, 85609
067208
Computer now lists PHILOLOGY as a candidate word. User can now
click on PHILOLOGY and the entire dictionary listing will appear and
the user can decide if PHILOLOGY was the word sought.
Other word combinations could have been entered as the definition
words and the word sought PHILOLOGY would have been retrieved.
______________________________________
Note:
If other worxts were also retrieved as "candidates", the user need only
click on them to review their definitions and decide which word was the
one sought.
10. When a match is found, a search of the definition word numeric codes for the same entry word is made for match with the secondary word numeric code. If a match is found, the dictionary main entry word is displayed as a candidate for the word sought. 5 11. The search sequence, steps 9 and 10, is repeated until the entire dictionary has been searched and all candidate words have been displayed. 12. As candidates appear, the user can designate any displayed word and obtain its complete dictionary entry, pronunciation, part of speech, derivation, definition, etc., to determine if that candidate is the word being sought. As can be seen from the above sequence and in Table VI, each search progresses in stages. Once the first or primary word numeric code is located, only that definition need be searched for the secondary word numeric code. This limits the search for the secondary word numeric code and conserves search time. If no candidate words are displayed, the user will be instructed to select a different defining word or words in order to retrieve the word sought. PHASE I mended (Broadening the number of words in synonym groups): Related words, contrasted words and antonyms have not been included in synonym groups since most of them will be found as other main entries or secondary entries. Often words that are not true synonyms may be used as defining words for the word retrieval system of the present invention. The large numbers of synonyms within many synonym groups will usually yield the desired word. However, some definitions are phrased in the negative and contrasted words or antonyms must be used to retrieve their respective main entries. These words can be added to the system to optimize performance and to add subtleties to the search capabilities. The extent of these additions will depend upon the discretion of the publisher, the funds available for the project, the amount of memory available and the projected level of sophistication of the user. If any or all of the above additional word forms are to be included, this inclusion must be accomplished at the time the numeric codes are assigned to the thesaurus main entries and secondary entries, that is, during Phase I. The thesaurus main entries are examined for the bold face abbreviations "rel" (related words), "con" (contrasted words), and "ant" (antonyms). Each word following the abbreviations is sought in the thesaurus as a main entry or secondary entry. The synonym group numeric code assigned to the main entry being processed is appended to the main entries and secondary entries found, and conversely, the synonym group numeric codes of the main entries and secondary entries are appended to the word being processed. Thus the possible synonym groups available for each of these words is expanded and, in turn, expands the range of the possible definition words that will enable the retrieval of a word sought by the user of the system. A simplified example of this process is found in Table VII.
TABLE VII
______________________________________
Examples of the addition of related words to
a pool of synonyms
Thesaurus entry:
______________________________________
order vb 1 to bring about an orderly disposition of individuals,
units or elements <ordered his affairs in preparation for marriage>
syn arrange, array, dispose, marshall, methodize, organize,
systematize
rel adjust, fix regulate, right; align, fine, line up, range; classify,
codify, hierarchize; regiment, routine, routinize; streamline
idiom put (or set) in order; put in shape, put (or set) to rights,
reduce to order, whip into shape (or order)
ant disorderliness
rel adjust, fly, regulate, right, etc.
rel adjust 01422 fix 31326 regulate 61105 right 62712, etc.
The synonym group number(or numbers) for the word order, 52412,
is added to the synonym group number(s) for each of the words
adjust, fix, regulate and right and the synonym group numbers
for the related words (adjust 01422, fix 31326, regulate 61105,
and right 62712) are added to the synonym group number(s)
for the word order
______________________________________
Note:
The same method is used for antonyms, contrasted words and faux synonyms
Faux synonyms can also be added to the system and will provide another dimension for the user. These are words which are closely related to a main entry but would not be brought up as synonyms in the usual course of a search. For example, "Africa", "Tanzania" and "Serengeti", etc. can be placed in one new synonym group, and "North America", "Mexico" and "Texas", etc. in another. A further example is to add words such as "mammal", "marsupial" and "quadruped" to the synonym group for "animal". The addition of such faux synonyms to the database must be carefully thought out and specifically devised. They can be most helpful when the dictionary is targeted for a specific user group. These additions to the database must also be made before the thesaurus is removed from memory, during Phase I. As previously noted, words for which no synonyms were found were assigned unique six digit numeric codes. By careful examination, many of these words can become associated with synonym groups. The computer used to set up the database can be programmed to assist in the formation of the new synonym groups, the faux synonym groups, and the assignment of unique words to synonym groups. Manual intervention is required for these steps. The following sequence of steps is used to expand synonym groups: 1. The words for which six digit numeric codes have been assigned are brought up by accessing the six digit numbers sequentially. 2. The complete dictionary definition of each word, a main entry, is accessed. 3. The computer then searches the definition for words written in all capital letters. If one is found, it is sought in the thesaurus. 4. If the word is found in the thesaurus, the five digit numeric code for that word is used to replace the six digit numeric code originally assigned to the main entry. 5. If that word is not found in the thesaurus, a new synonym group is created with new synonym group numeric codes assigned beginning with 90001. (The new synonym groups will consist of the dictionary main entries and all words found within their definitions in all capital letters.) 6. Any six digit numeric codes originally assigned to either the main entry or its capitalized definition words are eliminated and replaced with the new series of five digit numeric codes. These new synonym groups will enable access to words that otherwise would not have been accessible unless the exact word was entered as a search definition word. Faux synonyms can also be treated in this manner and new synonym groups created as noted above. The new 9000 series numeric codes can be used when appropriate. Once Phase I (with any amended additions) has been completed, and the assignment of any new synonym groups has been accomplished, only the dictionary database with the numeric codes and the search sequence commands need be stored in a central computer's memory or sold on diskettes, CD ROMs, or other suitable storage devices. The numerical sequencing system of the present invention is not limited to dictionaries. With appropriate modification it can be used to find quotations in Bartlett's, to get a desired topic in an encyclopedia, or to find a specific quotation in a body of material such as the complete works of Shakespeare or the Bible. While one embodiment of the present invention has been illustrated and described in detail, it is to be understood that this invention is not limited thereto and may be otherwise practiced within the scope of the following claims.
|
Same subclass Same class Consider this |
||||||||||
