Abstract:
A system for proofreading a text document and automatically detecting and replacing text words in the document which exceed a predetermined understandability level for the documents intended audience. Text words and synonyms are stored in a dictionary which includes an understandability code for each word based statistically on textbook grade levels. The operator enters a grade level code into the system for the intended document audience. The system scans the document for words which exceed the desired grade level, highlights those words on the system display and prompts the operator with synonyms which can be used to replace the highlighted word. The operator may select a desired replacement synonym by placing the system cursor underneath the word and depressing and enter key from the system keyboard.

Description:
DESCRIPTION 
     1. Technical Field 
     This invention relates to text processing systems and more particularly to methods in text processing systems for automatically analyzing the grade level of a text document. 
     2. Background Art 
     The development trend in the text processing system industry is to produce as many useful functions as possible in text processing systems to aid support personnel and principals in document preparation and to reduce the required repetitive tedious work. However, little, if any, of the development work has been directed to the reader or consumer of the text processing system output. Some effort has been made in the area of reviewing documents for sentence readability by studying sentence length, word length and number of punctuations. By formulating criteria based on these factors to which the text of a document can be compared, the author is given an assessment of the relative sentence structure lucidity. This does not address the word content of the document nor does it consider the capability of the document audience. 
     DISCLOSURE OF INVENTION 
     It has been discovered that improved text proofing for the purpose of reviewing word content against educational level of the intended audience can be achieved by coupling a specialized dictionary of words including grade level data to a text processing system for automated text review and recomposition to meet a desired grade level. The system includes means for setting a desired maximum grade level for a composition and reviewing the text of the composition against the grade level dictionary. The text words that exceed the set grade level are highlighted on the system display screen and a set of synonyms offered as substitutes for the highlighted word. The system operator can select a desired one of the synonyms for the highlighted word for automatic insertion into the composition, replacing the highlighted word. 
    
    
     BRIEF DESCRIPTION OF DRAWINGS 
     FIG. 1 is a block diagram of an interactive text processing system embodying the present invention; 
     FIG. 2 is a functional diagram of the microprocessor shown in FIG. 1.; 
     FIG. 3 is a functional diagram illustrating the data flow path between portions of the memory and the microprocessor and the display refresh buffer; 
     FIG. 4 is a diagrammatic view of the display shown in FIG. 1; 
     FIG. 5 illustrates the presentation of text on the display screen of FIG. 4 in accordance with the present invention; and 
     FIG. 6 is an operational flow diagram for controlling the text processing system to perform the function of the present invention. 
    
    
     BEST MODE FOR CARRYING OUT THE INVENTION 
     The invention will now be described as embodied in an interactive text processing system of the type shown in FIG. 1. As shown in FIG. 1, the text processing system illustrated therein comprises a keyboard 10, a microprocessor 11, a display refresh buffer 12, a display device 14, a printer 15, and an auxiliary direct access storage device 16 such as a disk or diskette drive. A clock 17, for keeping the various components of the system in synchronism, is also shown in FIG. 1 and is effectively coupled to each of the units. 
     Keyboard 10 comprises a normal set of graphic symbol keys such as letters, numbers, punctuation marks, and special character keys, plus text format or control keys including carriage return, tab, index, etc. In addition, the keyboard 10 includes a second set of control keys for issuing special control commands to the system. The control keys include cursor movement keys, keys for setting the keyboard 10 into a number of different modes, etc. 
     The keyboard 10 is connected to the microprocessor 11 by means of a bus 20. The microprocessor 11, as shown in FIG. 2, comprises an input port 21, an output port 22, a random access memory 23, and a process execution unit 24. 
     Functionally, memory unit 23 stores both instructions and data in specified sections which will be described in more detail later in the specification. Data is entered into memory 23 from the keyboard 10 as bytes of binary information through input port 21. As shown in FIG. 3, the section of RAM 23 which receives the keystroke data from the keyboard 10 is designated keystroke queue 26. Data to be displayed is transferred by a series of instructions from queue 26 to the text buffer section 27 and then to the display refresh buffer 12 through output port 22 of the microprocessor 11. This is achieved in a conventional way by the microprocessor 11 executing a series of move instructions. 
     The microprocessor 11 may be an IBM Series 1, INTEL model 8086, or any of the recognized functionally equivalent, currently available microprocessors. 
     The display refresh buffer 12 is shown as a separate buffer connected between the output port 22 and the display device 14. Buffer 12, in practice, is normally a part of the display device 14 and functions to control the generation of characters on the screen of the display device 14 by exercising on-off control of the beam as it traces a series of horizontal lines across the screen. 
     The output port 22 also supplies data stored in memory 23 to the printer 15 and disk storage unit 16, each of which may have their own internal buffers which are not shown. Commands to transfer data from the random access memory 23 to the printer 15 or storage unit 16 are sent to the microprocessor 11 by the operator from the keyboard 10. 
     Printer 15 may be any suitable printer known in the art. In most text processing systems, the printer 15 is basically a standard input/output terminal printer having a type ball element or a daisy-wheel print element. 
     Disk storage 16 may also be any suitable disk storage device which is capable of storing serial by byte data supplied to it at determined sector address locations, each of which are randomly addressable by the microprocessor 11 to retrieve the data. Spatially related data supplied from disk drive 16 is stored in the display data area 28 of the memory 23 in encoded form. Another section of memory 23 shown in FIG. 3 is the display format buffer area 29 which is involved in the handling of spatially related data in decoded form in accordance with the method of the present invention. 
     FIG. 4 is a schematic representative of the screen 40 of display device 14. As shown in FIG. 4, the screen 40 has, for example, the capability of displaying 25 lines of characters where each line consists of 80 character column positions. In practice, one character position consists of a matrix of dot positions or picture elements sometimes referred to as pels. A typical character matrix for a display of the type represented by device 14 would be a matrix of six wide by ten high pels, which has been designated by reference character 42 in FIG. 4. The interaction of the refresh buffer 12 and the display 14 is to convert the characters stored at a location in the buffer 12 to the corresponding character as formed in a 6×10 dot matrix at the equivalent location on the display screen 40. Display 14 generally is provided with its own set of electronics to achieve that conversion. The microprocessor 11 need only supply the address and load the buffer 12 with the appropriate characters. 
     The disk storage device 16 also is generally provided with its own set of electronics for converting a byte of data supplied from the display data area 28 of memory 23 through the output port 22 to a serial by bit stream of data to be recorded at a predetermined sector of the one addressed concentric recording track on the disk. Data from the device 16 is supplied to the microprocessor 11 serial by byte from the addressed sector and storage tracks when requested. 
     It will be understood that all of the above described functions and interactions involving the microprocessor 11 are achieved through suitable programs and data which are also stored in memory 23 shown as memory blocks 30, 31, and 32 of FIG. 2 and which are called into operation in response to data from the keyboard 10 or interrupt signals generated by the various components of the system shown in FIG. 1. 
     The preferred embodiment of the present invention comprises a set of instructions or programs for controlling the text processing system of FIG. 1 for reviewing the text data on the display screen 40 against the entries in a dictionary list stored in memory 31. The entries in the dictionary memory 31 include text words and an appended code indicating the grade level of the text words. The text words in the dictionary also include appended codes which point to synonysms for the text words in the memory 32. The synonyms are stored and accessed in accordance with the encoding disclosed in co-pending application Ser. No. 218,222, entitled &#34;Binary Vocabulary Matrix Automatic Thesaurus&#34;, filed Dec. 19, 1980, by W. S. Rosenbaum, et al, and assigned to the same assignee as the present application and incorporated herein by reference. It is understood that no distinction need be made between dictionary words and synonyms. For example, all words can be stored together and include an appended grade level code and an appended synonym code which points to other synonyms for the word. 
     The grade level codes assigned to the text words in the dictionary list may be based either on the extensive testing of students or by the analysis of required text books by grade to determine at what grade level a given word has been sufficiently introduced into a student&#39;s lexicon to assume that it is known. There are several publications available which also provide grade level information. One such publication is &#34;The Living Word Vocabulary, A National Vocabulary Inventory&#34; by Edgar Dale and Joseph O&#39;Rourke, World Book-Child Craft International, Inc., copyright 1981. This publication provides a list of words in a format similar to that shown in Table 1. The &#34;score&#34; column indicates a statistical percentage of students at a given grade level who will recognize the word in question and know its meaning. In setting up a grade level dictionary list, the score percentage required to place a word in a particular grade level may be arbitrarily set. Applicants have recognized that generally a score of 67% is sufficient when placing a word in a grade level category. 
     
                       TABLE 1______________________________________GRADE    SCORE      WORD -- WORD MEANING______________________________________04       79%        a -- one, any08       72%        A -- musical note16       37%        aardvark -- animal12       65%        ab -- away, off, from12       51%        A.B. -- bachelor of arts16       40%        abaca -- herb plant10       76%        abacus -- counting frame16       30%        abaft -- toward the rear16       57%        abalone -- large snail06       76%        abandon -- freedom from restraint06       74%        abandon -- give up12       72%        abandon -- reckless enthusiasm06       89%        abandoned -- deserted16       75%        abase -- degrade16       61%        abasement -- humiliation12       55%        abash -- embarrass12       71%        abashed -- ashamed12       69%        abate -- diminish12       41%        abated -- grew less16       62%        abatement -- decrease16       40%        abattoir -- slaughter house16       31%        abba -- father12       34%        abbacy -- friar&#39;s office16       22%        abbe -- religious person12       34%        abbess -- head of a convent08       78%        abbey -- home of nuns or priests12       65%        abbey -- group of monks10       89%        abbot -- high church officer04       74%        abbreviate -- shorten04       69%        abbreviation -- shortened form04       67%        abbreviation -- short form of a               word04       93%        ABC&#39;s -- the alphabet10       79%        abdicate -- forsake the throne12       85%        abdicate -- give up rights12       41%        abdication -- forsaking the throne16       68%        abdication -- giving up a right06       77%        abdomen -- where stomach is06       67%        abdominal -- about the stomach10       77%        abduct -- kidnap10       72%        abduction -- kidnapping13       81%        abduction -- pulling from normal               position16       47%        abeam -- toward ship&#39;s side16       27%        abecedarian -- learner of ABC&#39;s12       78%        abed -- at rest12       60%        abegging -- neglected13       42%        aberrant -- departing from the               normal16       48%        aberration -- not normal16       03%        abert -- western squirrel13       68%        abet -- assist13       64%        abettor -- accomplice______________________________________ 
    
     Referring now to FIG. 5, there is shown an example of data on the screen 40 of the display 14. The display has highlighted the words &#34;abandon&#34; and &#34;abashed&#34; at the upper part of the screen. In operation, the grade level analyzer function may be invoked in a text processing system through a conventional &#34;menu&#34; task selection function such as disclosed in U.S. Pat. No. 4,308,582, issued Dec. 29, 1981 to David A. Berger and assigned to the International Business Machines Corp. and incorporated herein by reference. 
     During the menu task selection function, the text processing system displays to the operator a menu of functions that the system can perform. The operator may then select one or a combination of such functions through operation of cursor control and select or enter keybuttons on the system keyboard 10. For example, functions to paginate, check spelling, hyphenate for formatting, and analyze the grade level of text words in a document can be invoked singularly or in any combination. As an alternative to menu selection, the text processing system could be provided with a separate keybutton to invoke each of the functions that the system is capable of performing. 
     During the menu setup procedure, the system prompts the operator to enter a number representing the grade level to which the input document is to compared. In the example shown in FIG. 5, the grade level 5 is shown at 42 on the command line 41 of the display 40. The two words &#34;abandon&#34; and &#34;abashed&#34; are merely shown as examples. In actual operation, a text document such as a letter, page of a text book, technical report, or other document would appear on the display screen 40. The grade level analyzer would then scan the document word-by-word comparing each word and the input grade level appearing on the command line to the contents of the grade level dictionary. 
     FIG. 6 shows a flow diagram for the operation of the grade level analyzer of the present invention. The function is entered at block 50 and a test is performed to determine whether the end of test has been reached at block 51. If the end of text has not been reached, then at block 52 the next word of text is read and compared at block 53 to the contents of the grade level dictionary stored in dictionary memory 31. If the word is not found in the dictionary memory 31, then at block 59 the system is instructed to display a message on message line 45 indicating that the word was not found in the dictionary and processing returns to block 51 to continue reading text. If the word was found in the dictionary then at block 54 the grade level of the word in the dictionary is compared to the input grade level on the command line 5. When the grade level of the word does not exceed the input grade level then processing returns to block 51 to read the next word of text. However if the grade level of the word does exceed the input grade level then at block 55 the system is instructed to highlight the word on the display screen 40. In block 56 the grade level analyzer retrieves the synonyms for the word from the synonym dictionary 32 and displays the list of synonyms along with the part of speech of the word on the display screen underneath the word, for example, as shown in block 43. As previously stated, the synonyms are stored and accessed in accordance with the technique disclosed in co-pending application Ser. No. 218,222, entitled, &#34;Binary Vocabulary Matrix Automatic Thesaurus&#34;, filed Dec. 19, 1980. The accessed synonyms are also scanned at block 57 to determine if their grade levels exceed the input grade level. If the grade level of all of the available synonyms exceed the input grade level then at block 58 the system displays a message on message line 45 indicating that no lower grade level word is available and processing returns to block 51. However, if synonyms are available whose grade level meets the input criteria, then all the synonyms are displayed and the synonyms whose grade level exceeds the input grade level are displayed in highlighted form. Alternatively, only those synonyms that do not exceed the input grade level could be displayed. The display of synonyms is executed at block 60 with the highlighting of synonyms occurring in block 61. The operator may then use the keyboard cursor control keys to position the display cursor underneath a synonym which is to be substituted for the highlighted word in the document. If this occurs, and a keystroke to enter the selected synonym is received at block 62, then at block 63 the highlighted text word is replaced with the cursored synonym and processing returns to block 51 to continue. After the last word of the text has been processed, the routine will return to the machine operation which was occurring when the routine was entered at block 64. 
     A program listing for the grade level analyzer routine is shown in Table 2 in pseudo code. The application and use of pseudo code is described in &#34;An Introduction to Programming&#34;, (A Structural Approach Using PL/1 and PL/C-7) Second Edition, by Richard Conway and David Gries, Winthrop Publishers, Cambridge, Mass., copyright 1975. 
     
                       TABLE 2______________________________________BEGINSEGMENT(GRDLVL)______________________________________ENTER GRDLVL;SAVE THE ADDRESS OF CALLER;IF ENTERED FOR INITIALIZATION, THENOBTAIN ACCESS TO STORAGE FILE FORDICTIONARY LIST;OBTAIN ACCESS TO STORAGE FILE FORSYNONYMS LIST;GET MAIN STORAGE SPACE FOR DICTIONARY LISTAND RECORD ADDRESS IN SCRATCH PAD;GET MAIN STORAGE SPACE FOR SYNONYMS LISTAND RECORD ADDRESS IN SCRATCH PAD;BUILD DICTIONARY LIST IN MAIN STORAGE;BUILD SYNONYMS LIST IN MAIN STORAGE;STORE GRADE LEVEL INPUT IN GLREG;RELINQUISH ACCESS TO STORAGE FILE;IF INITIALIZATION WAS NOT SUCCESSFUL, THENSET RETURN TO CALLER;ENDIF;ENDIF;IF ENTERED TO CHECK GRADE LEVEL OF WORDS, THENDO UNTIL END OF DOCUMENT;READ NEXT WORD;IF WORD IS FOUND IN DICTIONARY LIST: THENIF GRADE LEVEL OF DICTIONARY WORD IS GREATERTHAN GLREG, THENHIGHLIGHT WORD ON DISPLAY;RETRIEVE SYNONYMS FOR WORD;IF GRADE LEVELS OF ALL SYNONYMS AREGREATER THAN GLREG, THENCALL MSGDSPLYTO DISPLAY MESSAGE (NO LOWERGRADE LEVEL WORD AVAILABLE)ELSEDISPLAY SYNONYMSHIGHLIGHT ANY SYNONYMS HAVINGGRADE LEVEL GREATER THAN GLREG;IF ENTER KEYSTROKE, THENREPLACE WORD WITH CURSORED SYNONYM;ENDIF;ENDIF;ENDIF;ELSECALL MSGDSPLYTO DISPLAY MESSAGE (WORD NOT FOUND INDICTIONARY)ENDIF;ENDDO;ENDIF;RETURNTO CALLERENDSEGMENT(GRDLVL)______________________________________ 
    
     While the invention has been particularly shown and described with reference to a best mode, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the invention.