US20090172523A1 - Correcting Text - Google Patents

Correcting Text Download PDF

Info

Publication number
US20090172523A1
US20090172523A1 US12/402,356 US40235609A US2009172523A1 US 20090172523 A1 US20090172523 A1 US 20090172523A1 US 40235609 A US40235609 A US 40235609A US 2009172523 A1 US2009172523 A1 US 2009172523A1
Authority
US
United States
Prior art keywords
text
error
correction
word
words
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/402,356
Inventor
Steven M. Colby
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JOLLY SEVEN SERIES 70 OF ALLIED SECURITY TRUST I
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US12/402,356 priority Critical patent/US20090172523A1/en
Publication of US20090172523A1 publication Critical patent/US20090172523A1/en
Assigned to DRY CREEK, SERIES 66 OF ALLIED SECURITY TRUST I reassignment DRY CREEK, SERIES 66 OF ALLIED SECURITY TRUST I ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COLBY, STEVEN M.
Assigned to JOLLY SEVEN, SERIES 70 OF ALLIED SECURITY TRUST I reassignment JOLLY SEVEN, SERIES 70 OF ALLIED SECURITY TRUST I ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DRY CREEK, SERIES 66 OF ALLIED SECURITY TRUST I
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/163Handling of whitespace
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation

Definitions

  • the invention is in the field of computer programming and more specifically in the field of text processing.
  • Text processing and text correction features are found in a wide variety of computing devices. For example, spelling and grammar correction are found in most word processing programs, presentation programs, database programs, and the like. It is desirable to make text and grammar correction as efficient as possible.
  • Whitespace characters include a space, a tab, a carriage return, and the like used to separate non-whitespace characters. In some embodiments, these characters the ASCII characters represented by decimal values 32, 10, 11, 12, 13, or the like.
  • the invention includes systems and methods of correcting text errors including those involving whitespace characters.
  • errors resulting from extra and/or misplaced whitespace characters are corrected in a single step.
  • the single step results in the correction of two misspelled words.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting a word including a spelling error, testing to see if shifting a character to or from a first adjacent word in a first direction solves the spelling error, the first adjacent word being adjacent to the word including the spelling error, and resolving the spelling error responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method including detecting an error in the text, testing to see if moving a location of a first whitespace character solves the error, and resolving the error responsive to the testing.
  • Various embodiments of the invention include a system for text processing, the system comprising memory configured to store text, a display configured to display the text, and computer instructions configured to identify and resolve an error resulting from improperly positioned whitespace character within the text, the resolution including a single replacement step involving replacing one or more words in the text with a correction candidate.
  • Various embodiments of the invention include a system for text processing comprising means for detecting a spelling error including a misplaced whitespace character, means for identifying a solution to the spelling error, and means for resolving the spelling error responsive to the solution.
  • Various embodiments of the invention include a system for text processing comprising means for detecting an error in text, the error including an extra whitespace character, means for identifying a solution to the error including eliminating the extra whitespace character, eliminating the extra whitespace character resulting in a reduction of a total number of words in the text, and means for resolving the error responsive to the solution.
  • Various embodiments of the invention include a computer readable medium including computer instructions, the computer instructions comprising a code segment configured for detecting an error in text, a code segment configured for testing to see if moving a location of a first whitespace character solves the detected error, and a code segment configured for resolving the detected error responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting a word including a spelling error, testing if elimination of a whitespace character resolves the spelling error without creating a new spelling error, and resolving the spelling error responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting an extra whitespace character within the text, the extra whitespace character positioned between two words, testing if eliminating of the extra whitespace character results in converting the two words to one word, the one word being correctly spelled, and correcting the text responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting a spelling error, determining a first correction candidate configured to replace one word in the text, determining a second correction candidate configured to replace two words in the text, displaying the first correction candidate and the second correction candidate to a user, and correcting the spelling error responsive to a selection received from the user, the selection being of the first correction candidate or the second correction candidate.
  • FIG. 1 is a block diagram illustrating a computing system, according to various embodiments of the invention.
  • FIG. 2 illustrates a method of the correcting an error, according to various embodiments of the invention
  • FIG. 3A and FIG. 3B each illustrate a different display used to present a correction list to a user, according to various embodiments of the invention.
  • FIG. 4 illustrates sub-steps within a resolve error step, according to some embodiments of the invention.
  • the invention includes systems and methods for correcting spelling and grammatical errors involving improper positioning and or addition of an extra whitespace character.
  • errors corrected include: “makin g mistake” wherein an extra space is found between the “n” and the “g”; “making m istake” wherein an extra space is found between the “m” and the “i”; “makin gmistake” wherein the position of a space is incorrectly shifted to the right; “makingm istake”; wherein the position of a space is incorrectly shifted to the left.
  • These errors may cause one or two spelling errors. For example, “I scorrect” includes one spelling error and “makin gmistake” includes two spelling errors.
  • the error resulting from an additional space or an improperly positioned space results in a grammatical error.
  • Correction of these errors includes repositioning an improperly positioned whitespace character and/or removing an extra whitespace character.
  • one spelling error is corrected and in some cases two errors are corrected in a single correction step.
  • the correction includes replacement of one word or replacement of two words, where a word is a group of non-whitespace characters between whitespace characters.
  • “are two” and “ar etwo?” are two words each.
  • “Are three words” and “are t here” are three words.
  • correction of an error includes replacing two words with one word.
  • correction of an error includes replacing two words with two words.
  • FIG. 1 is a block diagram illustrating a Computing System 100 , according to various embodiments of the invention.
  • Computing System 100 includes a Display 110 configured to view text as well as an optional User Input 120 configured for a user to input text and/or select options presented on Display 110 .
  • Computing System 100 further includes Storage 130 , configured to store, for example, Correction Code 140 and Text 150 .
  • a Processor 160 is configured to execute Correction Code 140 and control Display 110 .
  • Display 110 includes a computer screen, personal digital assistant display, an electronic book display, a video display, a communication device display, a telephone display, or the like.
  • User Input 120 includes a button, a keyboard, graphical user interface, handwriting recognition device, touch sensitive device, or the like.
  • User Input 120 includes a digital data input device such as a communications port (e.g., an Ethernet, a serial or parallel port), a memory interface, a drive (e.g. hard drive, floppy drive, compact disk drive, digital versatile disk drive), or the like.
  • a communications port e.g., an Ethernet, a serial or parallel port
  • a memory interface e.g. hard drive, floppy drive, compact disk drive, digital versatile disk drive
  • User Input 120 is used to transfer text data to Computing System 100 .
  • User Input 120 includes a compact disk drive configured to read text data from a compact disk.
  • Storage 130 includes digital (fixed or removable) memory such as RAM, SRAM, compact disk, digital versatile disk, floppy disk, hard drive, or the like. Storage 130 is configured to store Correction Code 140 and Text 150 , and optionally a Word Set 170 and/or Grammar Rules 180 . In some embodiments, Storage 130 is distributed among several devices.
  • Correction Code 140 includes computer code configured to perform methods of the invention as described further herein. For example, in various embodiments, Correction Code 140 includes code configured to detect an error including an improperly positioned whitespace character and/or code configured to detect an error including an extra whitespace character positioned within what should be one word. Further, in various embodiments, Correction Code 140 includes code to offer a user one or more possible correction candidates configured for correcting errors involving a whitespace character.
  • Text 150 is character-based text including an alphabet of characters used to form words separated by whitespace. Text 150 is typically received by Computing System 100 using User Input 120 .
  • Word Set 170 is a set of words whose spelling is considered to be correct.
  • Word Set 170 may be a predefined or a user defined dictionary.
  • Grammar Rules 180 is a set of grammatical rules configured for detecting errors in grammar.
  • FIG. 2 illustrates a method of the correcting an error in Text 150 , according to various embodiments of the invention.
  • Detect Error Step 210 an error is detected in Text 150 , using Correction Code 140 .
  • Detect Error Step 210 includes parsing Text 150 and comparing words found in Text 150 with words in Word Set 170 .
  • Detector Error Step 210 includes parsing Text 150 and comparing Text 150 with grammatical rules stored in Grammar Rules 180 . When a word in Text 150 does not match a word in Word Set 170 , the word in Text 150 is flagged as including an error.
  • Detect Error Step 210 includes monitoring the addition of new text, using User Input 120 , to Text 150 . As new words are added or old words are modified, they are compared with words in Word Set 170 . When a new or altered word in Text 150 does not match a word in Word Set 170 , the word in Text 150 is flagged as including an error. In some embodiments, Detect Error Step 210 includes parsing Text 150 for grammatical errors. In these embodiments, a word or words of Text 150 are analyzed using Grammar Rules 180 . If the word or words do not fit within the grammatical rules then the words are flagged as including an error.
  • Detect Error Step 210 includes systems and methods used by the software programs Microsoft Word®, Microsoft PowerPoint®, Microsoft Outlook®, Microsoft Excel®, Lotus-123®, EMACS, WordPerfect®, Microsoft Access®, Microsoft Visio®, Microsoft FrontPage®, or the like, to detect an error in text.
  • Detect Error Step 210 includes detecting the errors such as “wron gword,” “wrongw ord,” “wro ngword,” “wrong w ord,” “wro ng word,” or the like. These errors reflect a character or characters incorrectly shifted to the right, a character incorrectly shifted to the left, and an incorrect extra whitespace character, etcetera.
  • Correction Code 140 is used to determine if an error, flagged in Detect Error Step 210 , is corrected by exchanging one or more letter between adjacent words, moving a whitespace character, eliminating a whitespace character, or like action.
  • An error is considered corrected if the words in the corrected text would match words in Word Set 170 following the action.
  • Each possible correction is considered a “correction candidate.”
  • exchanging one or more letter between adjacent words is equivalent to moving a whitespace character.
  • removing and then adding a whitespace character is equivalent to moving a whitespace character.
  • Error Correction Code 140 tests for a character (whitespace or non-whitespace) incorrectly shifted to the right. For example, in one embodiment Error Correction Code 140 tests to see if “wron gword” is corrected by shifting the “g” back to produce “wrong word,” or if “wro ngword” is corrected by shifting the “ng” back to produce “wrong word.”
  • Error Correction Code 140 is configured to test for a character incorrectly shifted to the left. For example, in one embodiment, Error Correction Code 140 tests to see if “wrongw ord” is corrected by shifting the “w” forward to produce “wrong word.” In some embodiments, similar tests are applied to the errors “wrong w ord” and “wron g word,” (each including three words). In these tests the shifted character is the only letter of the words “w” and “g” and a correction candidate, such as “wrong word” (including the grammatical error of having two spaces between the words) or “wrong word” (including one space between the words), include fewer total words than the text with the error. (In some embodiments having two spaces between words is considered a grammar error.) In cases such as these, a space is optionally deleted so that there is not a double space between the remaining words. In these embodiments, the correction candidate includes fewer words than the original text.
  • Error Correction Code 140 is configured to test for an extra whitespace character. For example, in one embodiment, Error Correction Code 140 tests to see if “wro ng” is corrected by eliminating a whitespace character next to a word flagged as having an error, to produce “wrong.” In these embodiments, the correction candidate includes fewer words than the original text.
  • Test Exchange Step 220 optionally includes a plurality of tests, such as those described herein. Typically, a series of tests will be made until one or more possible correction candidates, such as “wrong word,” are found.
  • correction candidates are given a greater relevancy if they correct two spelling mistakes at once instead of just correcting one spelling mistake.
  • the phrase “wron gword” includes two words that typically would be flagged has having a spelling error in Detect Error Step 210 .
  • the correction candidate “wrong word” corrects both of these spelling errors and thus may be given greater relevancy than a correction candidate that dealt with only one of the words at a time.
  • Correction Code 140 could either deal just with correcting the word “wron” and arrive at correction candidates such as “worn,” “wrong,” “wren” and/or Correction Code 140 could apply the tests of Test Exchange Step 220 and find the correction candidate “wrong word.” Since the correction candidate “wrong word” corrects two errors it may be given greater relevancy.
  • a Resolve Error Step 230 the one or more correction candidates found in Test Exchange Step 220 are optionally used to correct Text 150 by replacing the text including the error found in Detect Error Step 210 with one of the correction candidates found in Text Exchange Step 220 .
  • Resolve Error Step 230 may include correcting Text 150 to read “Be sure not to use the wrong word in a patent claim.” In this case two spelling errors are corrected using a single correction candidate in a single correction step.
  • the replacement is made automatically using Correction Code 140 .
  • the correction candidate with the greatest relevancy is used to correct the error.
  • the correction is made by offering the one or more possible correction candidates to a user, and requesting that the user choose a preferred correction candidate from among the offered correction candidates. For example, in response to the error “wron gword” the user may be offered the following list of correction candidates: “wrong word,” “wrong,” “wren,” and “worn.” If the user then selects a preference, the selected correction candidate is used to replace the text including the error found in Detect Error Step 210 . In some embodiments, the total number of words in Text 150 is reduced in Resolve Error Step 230 .
  • the correction candidate e.g., “wrong word”
  • the correction candidate may include two words.
  • both errors may be corrected in a single correction step, e.g., through one replacement step involving a single correction candidate.
  • the correction candidate is selected by Correction Code 140 , based on only the first error then only the first error is typically corrected.
  • selecting “wrong” as the correction candidate responsive to the error “wron gword” would result in a correction to “wrong gword” an a second correction step would be required to correct “gword.”
  • the list of correction candidates displayed to a user includes indication of which correction candidates would be used to change two words and which correction candidates would be used to change one word.
  • FIG. 3A and FIG. 3B each illustrate a different embodiment of Display 110 used to present a correction list to a user. Part of Display 110 indicates Text To Be Replaced 310 , part of Display 110 indicates Correction Candidates 320 , and part of Display 110 presents User Options 330 . Text To Be Replaced 310 optionally includes a phrase having several words (e.g. “wron gword”). In FIG. 3B one of the Correction Candidates 320 is “Burma shave.” In various embodiments, this correction candidate is arrived at from the phrase “Burm as have” having an error.
  • Correction Code 140 may first deal with the word “Burm” alone. Correction Candidates 320 such as “burn” are found. Correction Code 140 then tests for errors involving the positioning of a whitespace character and/or exchanging characters with adjacent words, and finds “Burma s” as a correction candidate. However, this correction candidate generates a new error, “s.” Correction Code 140 then tests for correction candidates including the next word and finds that by moving another character a correction candidate, “Burma shave,” without errors is found. This multi-step process considers first one word, then two, then three words in search for Correction Candidates 320 .
  • the preferred Correction Candidate 320 is optionally displayed to the user, and if selected by the user is used to replace the text including an error.
  • FIG. 4 illustrates sub-steps within an embodiment of the single correction step Resolve Error Step 230 .
  • a list of identified Correction Candidates 320 is shown to a user using Display 110 . As illustrated in FIG. 3A and FIG. 3B , this list is typically associated with a display of Text To Be Replaced 310 . There may be more than one instance of Text To Be Replaced 310 displayed at the same time. For example, in FIG. 3A there are two instances of Text To Be Replaced 310 , “wron gword” and “wron.” Thus, a user is given more than one option of which text is to be corrected.
  • Processor 160 receives a selection of one of the displayed Correction Candidates 320 from a user.
  • a preferred Correction Candidate 320 the user may also be specifying which of Text To Be Replaced 310 is to be replaced by the Correction Candidate 320 . For example, if a user selects the Correction Candidate 320 “wrong word” in FIG. 3A , then the selected Correction Candidate 320 will be used to replace Text To Be Replaced 310 “wron gword.” In contrast, if the user selects the Correction Candidate 320 “wrong,” then the selected Correction Candidate 320 will be used to replace Text To Be Replaced 310 “wron.”
  • a Substitute Correction Candidate Sub-step 430 the selected Correction Candidate 320 is used to replace the associated Text To Be Replaced 310 .
  • Embodiments of the invention include looking for sequential words with errors and attempting to correct the errors with a single replacement step. Some of these embodiments include offering to the user suggested correction candidates that include more than one word configured to replace more than one word. Some of these embodiments include offering the user a suggested correction candidate that corrects more than one error.

Abstract

Systems and methods are provided for correcting grammatical and spelling errors that involve improper positioning of a whitespace character and/or an extra whitespace character. Removal of an extra whitespace character or repositioning of an improperly positioned whitespace character may result in correction of two misspelled words in a single correction step.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 10/859,734 entitled “Text Correction” and filed Jun. 2, 2004 which claims the benefit of U.S. provisional patent application No. 60/475,578 entitled “System and Method of Correcting Text” and filed Jun. 2, 2003, the disclosures of both are incorporated herein by reference.
  • BACKGROUND
  • 1. Field of the Invention
  • The invention is in the field of computer programming and more specifically in the field of text processing.
  • 2. Related Art
  • Text processing and text correction features are found in a wide variety of computing devices. For example, spelling and grammar correction are found in most word processing programs, presentation programs, database programs, and the like. It is desirable to make text and grammar correction as efficient as possible.
  • In current correction algorithms a single mistake that involves two words requires two separate corrections. For example, “spellingm istake” is a single misplacement of a whitespace character but requires separate correction steps to correct both “spellingm” and “istake.” A similar problem occurs with mistakes such as “spelli ng,” which involves an extra whitespace character. In this case, a first correction step is required to replace “spelli” with “spelling” and a second correction step is required to eliminate “ng.”
  • Whitespace characters include a space, a tab, a carriage return, and the like used to separate non-whitespace characters. In some embodiments, these characters the ASCII characters represented by decimal values 32, 10, 11, 12, 13, or the like.
  • SUMMARY
  • The invention includes systems and methods of correcting text errors including those involving whitespace characters. In various embodiments, errors resulting from extra and/or misplaced whitespace characters are corrected in a single step. In some cases the single step results in the correction of two misspelled words.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting a word including a spelling error, testing to see if shifting a character to or from a first adjacent word in a first direction solves the spelling error, the first adjacent word being adjacent to the word including the spelling error, and resolving the spelling error responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method including detecting an error in the text, testing to see if moving a location of a first whitespace character solves the error, and resolving the error responsive to the testing.
  • Various embodiments of the invention include a system for text processing, the system comprising memory configured to store text, a display configured to display the text, and computer instructions configured to identify and resolve an error resulting from improperly positioned whitespace character within the text, the resolution including a single replacement step involving replacing one or more words in the text with a correction candidate.
  • Various embodiments of the invention include a system for text processing comprising means for detecting a spelling error including a misplaced whitespace character, means for identifying a solution to the spelling error, and means for resolving the spelling error responsive to the solution.
  • Various embodiments of the invention include a system for text processing comprising means for detecting an error in text, the error including an extra whitespace character, means for identifying a solution to the error including eliminating the extra whitespace character, eliminating the extra whitespace character resulting in a reduction of a total number of words in the text, and means for resolving the error responsive to the solution.
  • Various embodiments of the invention include a computer readable medium including computer instructions, the computer instructions comprising a code segment configured for detecting an error in text, a code segment configured for testing to see if moving a location of a first whitespace character solves the detected error, and a code segment configured for resolving the detected error responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting a word including a spelling error, testing if elimination of a whitespace character resolves the spelling error without creating a new spelling error, and resolving the spelling error responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting an extra whitespace character within the text, the extra whitespace character positioned between two words, testing if eliminating of the extra whitespace character results in converting the two words to one word, the one word being correctly spelled, and correcting the text responsive to the testing.
  • Various embodiments of the invention include a method of correcting text, the method comprising detecting a spelling error, determining a first correction candidate configured to replace one word in the text, determining a second correction candidate configured to replace two words in the text, displaying the first correction candidate and the second correction candidate to a user, and correcting the spelling error responsive to a selection received from the user, the selection being of the first correction candidate or the second correction candidate.
  • BRIEF DESCRIPTION OF THE VARIOUS VIEWS OF THE DRAWING
  • FIG. 1 is a block diagram illustrating a computing system, according to various embodiments of the invention;
  • FIG. 2 illustrates a method of the correcting an error, according to various embodiments of the invention;
  • FIG. 3A and FIG. 3B each illustrate a different display used to present a correction list to a user, according to various embodiments of the invention; and
  • FIG. 4 illustrates sub-steps within a resolve error step, according to some embodiments of the invention.
  • DETAILED DESCRIPTION
  • The invention includes systems and methods for correcting spelling and grammatical errors involving improper positioning and or addition of an extra whitespace character. Examples of these errors corrected include: “makin g mistake” wherein an extra space is found between the “n” and the “g”; “making m istake” wherein an extra space is found between the “m” and the “i”; “makin gmistake” wherein the position of a space is incorrectly shifted to the right; “makingm istake”; wherein the position of a space is incorrectly shifted to the left. These errors may cause one or two spelling errors. For example, “I scorrect” includes one spelling error and “makin gmistake” includes two spelling errors.
  • In various embodiments, the error resulting from an additional space or an improperly positioned space results in a grammatical error. In some of these embodiments there is a grammatical error but not a spelling error. For example, if “It is one car seat” is incorrectly written as “It is one cars eat.” there is a grammatical error but no spelling error resulting from an improperly positioned space.
  • Correction of these errors, grammatical or spelling, includes repositioning an improperly positioned whitespace character and/or removing an extra whitespace character. In some cases one spelling error is corrected and in some cases two errors are corrected in a single correction step. In some embodiments, the correction includes replacement of one word or replacement of two words, where a word is a group of non-whitespace characters between whitespace characters. For the purposes of this disclosure and claims, “are two” and “ar etwo?” are two words each. “Are three words” and “are t here” are three words. In some embodiments, correction of an error includes replacing two words with one word. In some embodiments, correction of an error includes replacing two words with two words.
  • FIG. 1 is a block diagram illustrating a Computing System 100, according to various embodiments of the invention. Computing System 100 includes a Display 110 configured to view text as well as an optional User Input 120 configured for a user to input text and/or select options presented on Display 110. Computing System 100 further includes Storage 130, configured to store, for example, Correction Code 140 and Text 150. A Processor 160 is configured to execute Correction Code 140 and control Display 110.
  • In various embodiments, Display 110 includes a computer screen, personal digital assistant display, an electronic book display, a video display, a communication device display, a telephone display, or the like.
  • In various embodiments, User Input 120 includes a button, a keyboard, graphical user interface, handwriting recognition device, touch sensitive device, or the like. In various embodiments, User Input 120 includes a digital data input device such as a communications port (e.g., an Ethernet, a serial or parallel port), a memory interface, a drive (e.g. hard drive, floppy drive, compact disk drive, digital versatile disk drive), or the like. In these embodiments, User Input 120 is used to transfer text data to Computing System 100. For example, in one embodiment User Input 120 includes a compact disk drive configured to read text data from a compact disk.
  • In various embodiments, Storage 130 includes digital (fixed or removable) memory such as RAM, SRAM, compact disk, digital versatile disk, floppy disk, hard drive, or the like. Storage 130 is configured to store Correction Code 140 and Text 150, and optionally a Word Set 170 and/or Grammar Rules 180. In some embodiments, Storage 130 is distributed among several devices.
  • Correction Code 140 includes computer code configured to perform methods of the invention as described further herein. For example, in various embodiments, Correction Code 140 includes code configured to detect an error including an improperly positioned whitespace character and/or code configured to detect an error including an extra whitespace character positioned within what should be one word. Further, in various embodiments, Correction Code 140 includes code to offer a user one or more possible correction candidates configured for correcting errors involving a whitespace character.
  • In various embodiments, Text 150 is character-based text including an alphabet of characters used to form words separated by whitespace. Text 150 is typically received by Computing System 100 using User Input 120.
  • Word Set 170 is a set of words whose spelling is considered to be correct. For example, Word Set 170 may be a predefined or a user defined dictionary. Grammar Rules 180 is a set of grammatical rules configured for detecting errors in grammar.
  • FIG. 2 illustrates a method of the correcting an error in Text 150, according to various embodiments of the invention.
  • In a Detect Error Step 210, an error is detected in Text 150, using Correction Code 140. In some embodiments, Detect Error Step 210 includes parsing Text 150 and comparing words found in Text 150 with words in Word Set 170. In some embodiments, Detector Error Step 210 includes parsing Text 150 and comparing Text 150 with grammatical rules stored in Grammar Rules 180. When a word in Text 150 does not match a word in Word Set 170, the word in Text 150 is flagged as including an error.
  • In some embodiments, Detect Error Step 210 includes monitoring the addition of new text, using User Input 120, to Text 150. As new words are added or old words are modified, they are compared with words in Word Set 170. When a new or altered word in Text 150 does not match a word in Word Set 170, the word in Text 150 is flagged as including an error. In some embodiments, Detect Error Step 210 includes parsing Text 150 for grammatical errors. In these embodiments, a word or words of Text 150 are analyzed using Grammar Rules 180. If the word or words do not fit within the grammatical rules then the words are flagged as including an error.
  • In some embodiments, Detect Error Step 210 includes systems and methods used by the software programs Microsoft Word®, Microsoft PowerPoint®, Microsoft Outlook®, Microsoft Excel®, Lotus-123®, EMACS, WordPerfect®, Microsoft Access®, Microsoft Visio®, Microsoft FrontPage®, or the like, to detect an error in text.
  • In various embodiments Detect Error Step 210 includes detecting the errors such as “wron gword,” “wrongw ord,” “wro ngword,” “wrong w ord,” “wro ng word,” or the like. These errors reflect a character or characters incorrectly shifted to the right, a character incorrectly shifted to the left, and an incorrect extra whitespace character, etcetera.
  • In a Test Exchange Step 220, Correction Code 140 is used to determine if an error, flagged in Detect Error Step 210, is corrected by exchanging one or more letter between adjacent words, moving a whitespace character, eliminating a whitespace character, or like action. An error is considered corrected if the words in the corrected text would match words in Word Set 170 following the action. There may be more than one possible correction for an error. Each possible correction is considered a “correction candidate.” In some cases, exchanging one or more letter between adjacent words is equivalent to moving a whitespace character. Also, in some cases, removing and then adding a whitespace character is equivalent to moving a whitespace character. These equivalencies are meant to be included in the term “moving a whitespace character” in this disclosure and claims.
  • In some embodiments of Test Exchange Step 220, Error Correction Code 140 tests for a character (whitespace or non-whitespace) incorrectly shifted to the right. For example, in one embodiment Error Correction Code 140 tests to see if “wron gword” is corrected by shifting the “g” back to produce “wrong word,” or if “wro ngword” is corrected by shifting the “ng” back to produce “wrong word.”
  • In some embodiments of Text Exchange Step 220, Error Correction Code 140 is configured to test for a character incorrectly shifted to the left. For example, in one embodiment, Error Correction Code 140 tests to see if “wrongw ord” is corrected by shifting the “w” forward to produce “wrong word.” In some embodiments, similar tests are applied to the errors “wrong w ord” and “wron g word,” (each including three words). In these tests the shifted character is the only letter of the words “w” and “g” and a correction candidate, such as “wrong word” (including the grammatical error of having two spaces between the words) or “wrong word” (including one space between the words), include fewer total words than the text with the error. (In some embodiments having two spaces between words is considered a grammar error.) In cases such as these, a space is optionally deleted so that there is not a double space between the remaining words. In these embodiments, the correction candidate includes fewer words than the original text.
  • In some embodiments of Text Exchange Step 220, Error Correction Code 140 is configured to test for an extra whitespace character. For example, in one embodiment, Error Correction Code 140 tests to see if “wro ng” is corrected by eliminating a whitespace character next to a word flagged as having an error, to produce “wrong.” In these embodiments, the correction candidate includes fewer words than the original text.
  • Test Exchange Step 220 optionally includes a plurality of tests, such as those described herein. Typically, a series of tests will be made until one or more possible correction candidates, such as “wrong word,” are found.
  • In some embodiments of Test Exchange Step 220, correction candidates are given a greater relevancy if they correct two spelling mistakes at once instead of just correcting one spelling mistake. For example, the phrase “wron gword” includes two words that typically would be flagged has having a spelling error in Detect Error Step 210. The correction candidate “wrong word” corrects both of these spelling errors and thus may be given greater relevancy than a correction candidate that dealt with only one of the words at a time. In other words, Correction Code 140 could either deal just with correcting the word “wron” and arrive at correction candidates such as “worn,” “wrong,” “wren” and/or Correction Code 140 could apply the tests of Test Exchange Step 220 and find the correction candidate “wrong word.” Since the correction candidate “wrong word” corrects two errors it may be given greater relevancy.
  • In a Resolve Error Step 230 the one or more correction candidates found in Test Exchange Step 220 are optionally used to correct Text 150 by replacing the text including the error found in Detect Error Step 210 with one of the correction candidates found in Text Exchange Step 220. For example, in an embodiment wherein Text 150 includes the sentence, “Be sure not to use the wrongw ord in a patent claim” and a correction candidate is “wrong word,” Resolve Error Step 230 may include correcting Text 150 to read “Be sure not to use the wrong word in a patent claim.” In this case two spelling errors are corrected using a single correction candidate in a single correction step. In some embodiments, the replacement is made automatically using Correction Code 140. In one of these embodiments the correction candidate with the greatest relevancy is used to correct the error.
  • In some embodiments of Resolve Error Step 230, the correction is made by offering the one or more possible correction candidates to a user, and requesting that the user choose a preferred correction candidate from among the offered correction candidates. For example, in response to the error “wron gword” the user may be offered the following list of correction candidates: “wrong word,” “wrong,” “wren,” and “worn.” If the user then selects a preference, the selected correction candidate is used to replace the text including the error found in Detect Error Step 210. In some embodiments, the total number of words in Text 150 is reduced in Resolve Error Step 230. For example, when “wrong w ord” (three words) is replaced by “wrong word”(two words), one word is eliminated. When the correction candidate is selected by Correction Code 140 based on both the first and second error, the correction candidate (e.g., “wrong word”) may include two words. Thus, both errors may be corrected in a single correction step, e.g., through one replacement step involving a single correction candidate. Alternatively, when the correction candidate is selected by Correction Code 140, based on only the first error then only the first error is typically corrected. Thus, in alternative embodiments, selecting “wrong” as the correction candidate responsive to the error “wron gword” would result in a correction to “wrong gword” an a second correction step would be required to correct “gword.”
  • In some embodiments, the list of correction candidates displayed to a user includes indication of which correction candidates would be used to change two words and which correction candidates would be used to change one word. FIG. 3A and FIG. 3B each illustrate a different embodiment of Display 110 used to present a correction list to a user. Part of Display 110 indicates Text To Be Replaced 310, part of Display 110 indicates Correction Candidates 320, and part of Display 110 presents User Options 330. Text To Be Replaced 310 optionally includes a phrase having several words (e.g. “wron gword”). In FIG. 3B one of the Correction Candidates 320 is “Burma shave.” In various embodiments, this correction candidate is arrived at from the phrase “Burm as have” having an error. For example, in Test Exchange Step 220, Correction Code 140 may first deal with the word “Burm” alone. Correction Candidates 320 such as “burn” are found. Correction Code 140 then tests for errors involving the positioning of a whitespace character and/or exchanging characters with adjacent words, and finds “Burma s” as a correction candidate. However, this correction candidate generates a new error, “s.” Correction Code 140 then tests for correction candidates including the next word and finds that by moving another character a correction candidate, “Burma shave,” without errors is found. This multi-step process considers first one word, then two, then three words in search for Correction Candidates 320.
  • Returning to Resolve Error Step 230 of FIG. 2, the preferred Correction Candidate 320 is optionally displayed to the user, and if selected by the user is used to replace the text including an error.
  • FIG. 4 illustrates sub-steps within an embodiment of the single correction step Resolve Error Step 230.
  • In a Display Correction List Sub-step 410 a list of identified Correction Candidates 320 is shown to a user using Display 110. As illustrated in FIG. 3A and FIG. 3B, this list is typically associated with a display of Text To Be Replaced 310. There may be more than one instance of Text To Be Replaced 310 displayed at the same time. For example, in FIG. 3A there are two instances of Text To Be Replaced 310, “wron gword” and “wron.” Thus, a user is given more than one option of which text is to be corrected.
  • In a Receive User Selection Sub-step 420, Processor 160 receives a selection of one of the displayed Correction Candidates 320 from a user. By selecting a preferred Correction Candidate 320 the user may also be specifying which of Text To Be Replaced 310 is to be replaced by the Correction Candidate 320. For example, if a user selects the Correction Candidate 320 “wrong word” in FIG. 3A, then the selected Correction Candidate 320 will be used to replace Text To Be Replaced 310 “wron gword.” In contrast, if the user selects the Correction Candidate 320 “wrong,” then the selected Correction Candidate 320 will be used to replace Text To Be Replaced 310 “wron.”
  • In a Substitute Correction Candidate Sub-step 430 the selected Correction Candidate 320 is used to replace the associated Text To Be Replaced 310.
  • Embodiments of the invention include looking for sequential words with errors and attempting to correct the errors with a single replacement step. Some of these embodiments include offering to the user suggested correction candidates that include more than one word configured to replace more than one word. Some of these embodiments include offering the user a suggested correction candidate that corrects more than one error.
  • Several embodiments are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations are covered by the above teachings and within the scope of the appended claims without departing from the spirit and intended scope thereof. For example, while the discussion of the invention uses the “space character” as an example of a whitespace character, it is within the scope of the invention to correct errors involving other whitespace characters, (e.g., a tab character).
  • The embodiments discussed herein are illustrative of the present invention. As these embodiments of the present invention are described with reference to illustrations, various modifications or adaptations of the methods and or specific structures described may become apparent to those skilled in the art. All such modifications, adaptations, or variations that rely upon the teachings of the present invention, and through which these teachings have advanced the art, are considered to be within the spirit and scope of the present invention. Hence, these descriptions and drawings should not be considered in a limiting sense, as it is understood that the present invention is in no way limited to only the embodiments illustrated.

Claims (6)

1. A system for text processing, the system comprising:
memory configured to store text;
a display configured to display the text; and
computer instructions configured to
identify a spelling error resulting from an improperly positioned whitespace character within the text, the improperly positioned whitespace having been entered by a user, and
resolve the spelling error by moving the improperly positioned whitespace character from a first position to a second position.
2. The system of claim 1, wherein a correction candidate to the spelling error includes two words.
3. The system of claim 1, wherein the computer instructions are further configured to resolve the spelling error by replacing two or more words in the text with a correction candidate.
4. The system of claim 1, wherein the display comprises a display of a personal digital assistant or a personal computer.
5. A computer readable medium including computer instructions, the computer instructions comprising:
a code segment configured for detecting a spelling error in text;
a code segment configured for testing whether moving a first whitespace character from a position as entered by a user solves the detected spelling error; and
a code segment configured for resolving the detected spelling error responsive to the testing.
6. A method of correcting text, the method comprising:
detecting a word including a spelling error;
testing to determine
if shifting a letter to or from a first adjacent word in a first direction solves the spelling error, the first adjacent word being adjacent to the word including the spelling error, and
if shifting a letter to or from the first adjacent word in a second direction solves the error; and
resolving the spelling error responsive to the testing.
US12/402,356 2003-06-02 2009-03-11 Correcting Text Abandoned US20090172523A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/402,356 US20090172523A1 (en) 2003-06-02 2009-03-11 Correcting Text

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US47557803P 2003-06-02 2003-06-02
US10/859,734 US7516404B1 (en) 2003-06-02 2004-06-02 Text correction
US12/402,356 US20090172523A1 (en) 2003-06-02 2009-03-11 Correcting Text

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/859,734 Continuation US7516404B1 (en) 2003-06-02 2004-06-02 Text correction

Publications (1)

Publication Number Publication Date
US20090172523A1 true US20090172523A1 (en) 2009-07-02

Family

ID=40512849

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/859,734 Expired - Fee Related US7516404B1 (en) 2003-06-02 2004-06-02 Text correction
US12/402,356 Abandoned US20090172523A1 (en) 2003-06-02 2009-03-11 Correcting Text

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/859,734 Expired - Fee Related US7516404B1 (en) 2003-06-02 2004-06-02 Text correction

Country Status (1)

Country Link
US (2) US7516404B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249232A1 (en) * 2008-03-28 2009-10-01 Sprint Communications Company L.P. Correcting data inputted into a mobile communications device
US20130283156A1 (en) * 2012-04-20 2013-10-24 King Abdulaziz City For Science And Technology Methods and systems for large-scale statistical misspelling correction
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
WO2016144963A1 (en) * 2015-03-10 2016-09-15 Asymmetrica Labs Inc. Systems and methods for asymmetrical formatting of word spaces according to the uncertainty between words

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285749A1 (en) * 2005-06-17 2006-12-21 Microsoft Corporation User-initiated reporting of handwriting recognition errors over the internet
US9454516B2 (en) * 2008-01-14 2016-09-27 Blackberry Limited Method and handheld electronic device employing a touch screen for ambiguous word review or correction
US8379801B2 (en) 2009-11-24 2013-02-19 Sorenson Communications, Inc. Methods and systems related to text caption error correction
US10007651B2 (en) * 2012-02-17 2018-06-26 Jens Straten Detect errors in intermediate electronic documents
WO2013169843A1 (en) * 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169877A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting user interface objects
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
JP6182207B2 (en) 2012-05-09 2017-08-16 アップル インコーポレイテッド Device, method, and graphical user interface for providing feedback for changing an activation state of a user interface object
JP6002836B2 (en) 2012-05-09 2016-10-05 アップル インコーポレイテッド Device, method, and graphical user interface for transitioning between display states in response to a gesture
CN108287651B (en) 2012-05-09 2021-04-13 苹果公司 Method and apparatus for providing haptic feedback for operations performed in a user interface
DE112013002409T5 (en) 2012-05-09 2015-02-26 Apple Inc. Apparatus, method and graphical user interface for displaying additional information in response to a user contact
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
US9037967B1 (en) * 2014-02-18 2015-05-19 King Fahd University Of Petroleum And Minerals Arabic spell checking technique
EP3062212A1 (en) * 2015-02-25 2016-08-31 Kyocera Document Solutions Inc. Text editing apparatus and print data storage apparatus
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
CN112183072B (en) * 2020-10-16 2023-07-21 北京奇艺世纪科技有限公司 Text error correction method and device, electronic equipment and readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5576995A (en) * 1995-05-30 1996-11-19 Sharp Kabushiki Kaisha Method for rewriting a flash memory
US5576955A (en) * 1993-04-08 1996-11-19 Oracle Corporation Method and apparatus for proofreading in a computer system
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US20020156816A1 (en) * 2001-02-13 2002-10-24 Mark Kantrowitz Method and apparatus for learning from user self-corrections, revisions and modifications
US6618697B1 (en) * 1999-05-14 2003-09-09 Justsystem Corporation Method for rule-based correction of spelling and grammar errors
US7149970B1 (en) * 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5576955A (en) * 1993-04-08 1996-11-19 Oracle Corporation Method and apparatus for proofreading in a computer system
US5576995A (en) * 1995-05-30 1996-11-19 Sharp Kabushiki Kaisha Method for rewriting a flash memory
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6618697B1 (en) * 1999-05-14 2003-09-09 Justsystem Corporation Method for rule-based correction of spelling and grammar errors
US7149970B1 (en) * 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method
US20020156816A1 (en) * 2001-02-13 2002-10-24 Mark Kantrowitz Method and apparatus for learning from user self-corrections, revisions and modifications

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249232A1 (en) * 2008-03-28 2009-10-01 Sprint Communications Company L.P. Correcting data inputted into a mobile communications device
US20090249252A1 (en) * 2008-03-28 2009-10-01 Sprint Communications Company L.P. List-position locator
US8473843B2 (en) * 2008-03-28 2013-06-25 Sprint Communications Company L.P. Correcting data inputted into a mobile communications device
US8627231B2 (en) 2008-03-28 2014-01-07 Sprint Communications Company L.P. List-position locator
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
US20130283156A1 (en) * 2012-04-20 2013-10-24 King Abdulaziz City For Science And Technology Methods and systems for large-scale statistical misspelling correction
US8881005B2 (en) * 2012-04-20 2014-11-04 King Abdulaziz City For Science And Technology Methods and systems for large-scale statistical misspelling correction
WO2016144963A1 (en) * 2015-03-10 2016-09-15 Asymmetrica Labs Inc. Systems and methods for asymmetrical formatting of word spaces according to the uncertainty between words

Also Published As

Publication number Publication date
US7516404B1 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
US20090172523A1 (en) Correcting Text
US5956739A (en) System for text correction adaptive to the text being corrected
US7293229B2 (en) Ensuring proper rendering order of bidirectionally rendered text
CN1801139B (en) Sentence displaying method, information processing system
US5161245A (en) Pattern recognition system having inter-pattern spacing correction
US20090175532A1 (en) Method and System for Creating Flexible Structure Descriptions
KR101495240B1 (en) Method and system for statistical context-sensitive spelling correction using confusion set
WO2009130692A2 (en) Method and system for user-interactive iterative spell checking
US11361162B2 (en) Mitigation of conflicts between content matchers in automated document analysis
EP0330170B1 (en) European language processing machine with a spelling correction function
US20130090916A1 (en) System and Method for Detecting and Correcting Mismatched Chinese Character
EP2138959A1 (en) Word recognizing method and word recognizing program
US9009026B2 (en) Information processing apparatus, non-transitory computer readable medium storing information processing program, and information processing method
KR101362142B1 (en) Computer-readable recording medium having recorded thereon a program for correcting missing word shift keys and a method thereof
JP3958722B2 (en) Image data document retrieval system
US20090055731A1 (en) Homonym words dictionary
JP6766972B1 (en) Document proofreading equipment, document proofreading methods, and programs
US20230267274A1 (en) Mapping entities in unstructured text documents via entity correction and entity resolution
JP3455643B2 (en) Method of updating learning dictionary in character recognition device and character recognition device
JP5888222B2 (en) Information processing apparatus and information processing program
JP3390567B2 (en) Typo correction device
JP2017117109A (en) Information processing device, information processing system, information retrieval method, and program
JP2000020513A (en) Japanese input device and its method
JP3705825B2 (en) Machine translation device and text separation method using the device
Bandyopadhyay Detection and correction of phonetic errors with a new orthographic dictionary

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: DRY CREEK, SERIES 66 OF ALLIED SECURITY TRUST I, C

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COLBY, STEVEN M.;REEL/FRAME:048182/0499

Effective date: 20190123

AS Assignment

Owner name: JOLLY SEVEN, SERIES 70 OF ALLIED SECURITY TRUST I, NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DRY CREEK, SERIES 66 OF ALLIED SECURITY TRUST I;REEL/FRAME:054656/0123

Effective date: 20201209