Interface and methods for collecting aligned editorial corrections into a database

A method for providing aligned editorial corrections to a database is discussed. The method includes receiving a first text in a language and organizing the first text into one or more sentences. The method further includes editing a copy of the first text to create a second text. The second text is in the language of the first text. The method further includes aligning the sentences of the first text with corresponding sentences of the second text storing the aligned sentences on a computer readable medium. A system for providing a data structure having aligned editorial corrections is also discussed. The system includes an alignment component for receiving a first text and organizing the first text into sentences. The system also includes a user interface configured to provide a second text, wherein the second text is an edited version of the first text in the language of the first text.

BACKGROUND

Automated proofing tools for texts written by persons who are not native language speakers suffer from some problems. By native language, it is generally meant the language that is learned first by a particular individual, although, in some instances, that may not necessarily be the case. Increasingly, people around the world create texts in languages other than their native languages. Most notably, a number of people who aren't native English speakers create texts in English. These texts can be created in word processors, e-mail applications, or web page development software, to name a few examples. Despite the large and growing number of people who prepare such documents outside of their native language, useful editorial assistance in the form of proofing tools geared to their needs is surprisingly hard to obtain.

Proofing tools such as grammar checkers available in word processors and other text generation tools have been designed primarily with native language speakers in mind. However, such tools do not address the challenges of proofing texts written by persons that are not native language speakers. For example, a major difficulty associated with using native language centric proofing tools to proof text written by a non-native language speaker is that errors of grammar, lexical choice, idiomaticity, and style rarely occur in isolation. Instead, any given sentence produced by a non-native language writer may involve a complex combination of all these error types. Consider the following example, found on the World Wide Web and written by someone whose native language is Korean, which involves the misapplication of countability to a mass noun:And I knew many informations about Christmas while I was preparing this article.

When proofing tools implemented to proof text written by native language writers are used to examine this text, they correctly (in the context of the examination of a native language writer's text) suggested that “much” should be substituted for “many” and “information” should be substituted for “informations”. Despite these changes, the resultant sentence, “And I knew much information about Christmas while I was preparing this article”, does not read as if it were written by an experienced, native language writer. Substituting the word “much” for “many” leaves the sentence stilted in a way that is probably undetectable to an inexperienced non-native speaker. In addition, the use of the word “knew” represents a lexical selection error that falls well outside the scope of conventional proofing tools. A better rewrite of the original sentence might be:And I learned a lot of information about Christmas while I was preparing this article.
or, even more colloquially:And I learned a lot about Christmas while I was preparing this article.

Repairing the error in the original sentence, then, is not a simple matter of fixing an agreement marker or substituting one determiner for another. Instead, wholesale replacement of the phrase “knew many informations” with the phrase “learned a lot” is needed to produce idiomatic-sounding output. It is difficult enough to design a proofing tool that can reliably correct individual errors; the simultaneous combination of multiple errors is beyond the capabilities of current proofing tools designed for native speakers.

Moreover, despite growing demand for proofing tools that address the needs of non-native language writers, there has been remarkably little progress in this area. Research into computer feedback for non-native language writers remains largely focused on smallscale pedagogical systems implemented within the framework of CALL (Computer Aided Language Learning). In addition, commercial grammar checkers for non-native language writers remain brittle and difficult to customize to meet the needs of non-native language writers of different native language backgrounds and skill levels.

Some researchers have begun to apply statistical techniques to identify learner errors in the context of essay evaluation to detect non-native text and to support lexical selection by non-native language writers through first-language translation. However, none of this work appears to directly address the more general problem of how to robustly provide feedback to non-native writers in a way that is easily tailored to different native language backgrounds and language skill levels in the non-native language in which they are writing.

SUMMARY

In one illustrative embodiment a method for providing aligned editorial corrections to a database is discussed. The method includes receiving a first text and organizing the first text into one or more sentences. The method further includes editing a copy of the first text to create a second text. The second text is in the language of the first text. The method further includes aligning the sentences of the first text with corresponding sentences of the second text and storing the aligned sentences on a computer readable medium.

In another illustrative embodiment a method for training a proofing tool for providing automated proofing of textual document is discussed. The method includes receiving a first text in a language and creating a second text in the language of the first text. A data structure is created by aligning the first text with the second text. The data structure is then provided to the proofing tool.

In still another illustrative embodiment a system for providing a data structure having aligned editorial corrections stored on a computer readable medium is discussed. The system includes an alignment component configured to receive a first text and organize the first text into one or more sentences. The system further includes providing a second text, wherein the second text is an edited version of the first text in the language of the first text having one or more sentences. The data structure includes sentences of the first text in alignment with corresponding sentences of the second text.

DETAILED DESCRIPTION

The present discussion refers to collecting and analyzing information to provide for proofing tools that are configured to correct or suggest corrections for grammar in text written by individuals such as non-native language writers or children who are just beginning to learn to read and write in their native language. The proofing tools can be used in conjunction with word processors, spreadsheets, e-mail clients or any other application that can utilize a grammar checking application.

For exemplary purposes in this discussion, the text to be corrected is written in English, although the systems and methods described herein are not limited in their application to the correction of English text, but can be applied to any language. In general, systematic patterns of errors made by non-native speakers (whose native language is another particular language for example, Spanish) are identified and those patterns are mapped to corresponding correct usage patterns in English. Alternatively, systematic patterns of errors made by children beginning to read or write are identified and those patterns of errors are mapped to corresponding correct usage patterns. For the purposes of brevity, embodiments discussed below refer to systems and methods for making editorial corrections for non-native speakers. However, it should be recognized that the embodiments discussed can be applied to, for example, children who are just learning to read and write in their native language.

FIG. 1Ais a block diagram of a system100for creating a database of aligned editorial corrections in accordance with one illustrative embodiment.FIG. 1Bprovides a flow diagram of system for creating the database. System100is configured to receive a source document110that is, in one embodiment, an electronic representation of a text written in English by someone who is a non-native English language writer, which is represented in block103. System100can receive the source document110as a e-mailed document, an attachment to an e-mailed document, a text message, a standalone application, or any other suitable means for receiving a text in electronic form.

System100includes a document editor user interface102allows a user to edit the textual source document110, which is shown in block105. User interface102is configured to be able to communicate with an alignment component104. Alignment component104aligns the text in the source document110with a corresponding corrected text of the edited document112, shown in block107. The edited document112provided as an output, shown in block109, in the form of an English document that has been corrected so that it is in a form that is familiar to those who speak and write English as their native language. The relationship between the user interface102and the alignment component104will be discussed below in various illustrative embodiments.

The aligned texts are stored in a database106, shown in block111. The database106of aligned sentences thus provides a training corpus, which includes both the source document text and the edited document text aligned together. The database of aligned sentences provides information regarding relationships between sentences written by non-native language speakers and corrected versions of the sentences. The database106of the aligned sentences is then provided to a proofing tool108, as shown in block111. The aligned sentences can be used by the proofing tool108as a basis for a statistical translation model, which can be used to correct text in applications such as a text editor. Thus, system100not only provides an editing tool to correct textual documents provided by non-native language speakers, it also provides a training corpus for use in other applications.

FIG. 2provides another view of system100, showing the user interface102in more detail. User interface102includes a document editor120. The document editor120receives the source document110and allows a human editor to edit the document. A manual editing device122allows the human editor to provide manual inputs to the document editor120that provide editorial correction to the source document110. For example, the manual editing device122can include a keyboard and or a mouse, which allows the user to manipulate the textual input in the document editor120. In one embodiment, the user interface102provides access to reference tools126to assist in the editing process. Reference tools126can include, without limitation, electronic dictionaries, thesauri and encyclopedias, grammar resources, and the ability to provide queries on the world wide web to assist the human editor in the editing process. In addition, the user interface102may allow the human editor to access monolingual and bilingual dictionaries in the native language of the non-native speaking author.

In one illustrative embodiment, the user interface102can include an automatic correction engine124, which can suggest potential corrections that might be made in the source document. For example, when the automatic correction engine124detects a potential problem, it can flag text such as by providing a wavy underline beneath the text to alert the editor of a potential grammatical problem. Alternatively, the automatic correction engine124automatically makes changes to the document. The automatic correction engine124may utilize tools such as cached information containing contextual memory of previously made, high frequency corrections. That is, previous usage of the system100that resulted in collecting aligned data may be looped back into the user interface through the automatic correction engine124to assist in the error correction task. In addition, the automatic correction engine124may utilize the World Wide Web, or information stored on a server on a local area network or on local machines, or in various combinations thereof to provide tools for automatic correction. Alternatively, the user interface102need not include the automatic correction engine124.

The document editor120illustratively includes one or more panes or windows in which text is displayed for correction by the human editor. In one embodiment, a first pane is provided that displays the unedited source text110. A second pane is also provided in which the source test is able to be edited. The human editor can make modifications to the text in the second pane including, for example, cutting and pasting strings of letters or words or typing modifications.

FIG. 3illustrates system200for creating a database of aligned editorial corrections in accordance with another illustrative embodiment. System200is stored on a remote server. A non-native language author's input210is transmitted to system200. System200includes a user interface202and an alignment component204, which interact with each other to pass information back and forth regarding the original information provided by the author and corrections made thereto. Details regarding the relationship between the user interface202and the alignment component204will be provided in more detail below. System200optionally includes an automatic correction engine224, which can provide suggestions for corrections to be made and/or make automatic corrections to the author's text.

Manual editing device222accesses the system200to provide access for a human editor via a remote server. The human editor can make corrections to the author's input by accessing the data processing applications user interface202. The user interface202illustratively includes a document editor similar to the document editor120described above. In one embodiment, the system200provides access to reference tools226to assist in the editing process. Once the document has been edited, an edited copy of the document is returned to the author. In addition, a database206of aligned sentences is stored in the system200. The aligned sentences in database206reflect an alignment of the original document210provided by the author and the edited document222as edited by the human editor. The database can be stored in any acceptable format such as, for example, html, asci, rich text format, and the like. The database of aligned sentences206are illustratively then provided to a proofing tool such as the proofing tool108discussed above.

FIG. 4illustrates the relationship between a system300for creating a database of aligned editorial corrections for text written by non-native language writers having a document editor user interface302and an alignment component304according to one illustrative embodiment. The illustrative embodiment shown herein can be implemented in systems that are stored locally or accessed remotely as discussed above.

System300receives a source document310, which is an electronic representation of a text written in English by someone who is a non-native language writer. Source document310is provided to a sentence extractor360located in the alignment component304. Sentence extractor360divides the source document into a series of sentences. The source document310, now broken into sentences, is passed to a core aligner component362. The core aligner362includes a copier364, which makes a copy of the sentences and coindexes the copy with the original sentences and an aligner370, which aligns the sentences after they have been edited.

The original sentences of the source document310are held in memory366of the alignment component304to await processing. The copy of the sentences is provided to the user interface302for processing. The copied sentences are loaded into document editor320, which illustratively is similar to the document editor120discussed above, receive editorial input from a human editor through a manual editing device322and optionally from an automatic correction engine324and are converted into edited sentences368. As discussed above, reference tools326may optionally be available for the human editor. The edited sentences are provided back to the author in the form of an edited document312. Alternatively, the edited document312is not returned to the author.

In addition, the edited sentences368are provided, along with the original sentences366to aligner370, which aligns the sentences after the editing process. During the editing process, significant editorial restructuring of sentence alignments may occur. For example, one sentence may be restructured into multiple (or “many”) sentences. Conversely, many sentences may be combined into a single sentence. Additionally, many sentences may be rearranged into a many sentence arrangement without a one-to-one correlation. Accordingly, the aligner370updates the indexation with the original sentences or restructures the sentence data when required by such changes.

Once the original and edited sentences are aligned, they are prepared at block372for transmission to a database of aligned sentences306. In one embodiment, data corresponding to the author of the original sentences is attached to the aligned sentences as is shown in block374. Such data may include, for example, the age, educational level, native language, and occupation of the author. Such information can be used to identify different patterns based upon recognition of an author's skill level. In addition, information about the document that was edited can be provided. For example, the domain, style, type of document or any other information that might be helpful in constructing models for automated error correction. Alternatively, similar information may be provided about the human editor. As it may be desirable to have several different persons edit source text, identification of persons who edit the text can provide valuable data about the quality of the edits that were made in any given document. The database of aligned sentences306is then illustratively provided to a proofing tool similar to that of proofing tool108discussed above.

FIG. 5illustrates the relationship between a system400for creating a database of aligned editorial corrections for text written by non-native language writers having a document editor user interface402and an alignment component404according to another illustrative embodiment. The illustrative embodiment shown inFIG. 5can be implemented in systems that are stored locally or accessed remotely as discussed above.

System400receives a source document410, which is an electronic representation of a text written in English by someone who is a non-native language writer. Source document410is provided to a sentence extractor460located in the alignment component404. Sentence extractor460divides the source document into a series of sentences. The source document410, now broken into sentences, is passed to a core aligner component462. The core aligner462creates a data structure464(as shown inFIG. 6) including both the original sentences466and copies of the original sentences468. The data structure464is passed to the user interface402, where the copied sentences468are loaded into the document editor420, edited by a human editor through a manual editing device422, and optionally via an automatic correction engine424. As in other previously discussed embodiments, reference tools426are provided for the human editor.

Once the copied sentences468have been edited, the copied sentences468, as edited, are stripped from the data structure, as shown at block470and provided back to the author in the form of an edited document412. The entire data structure464, including both the original466and copied468sentences, are also returned to the alignment component404. Data about the author472is optionally attached to the data structure464, before it is transferred, as represented at block474, to a database of aligned sentences406. Alternatively, or in addition, similar information may be provided about the human editor. The database of aligned sentences406is then illustratively provided to a proofing tool similar to that of proofing tool108discussed above.

FIG. 7illustrates the relationship between a system500for creating a database of aligned editorial corrections for text written by non-native language writers having a document editor user interface502and an alignment component504according to another illustrative embodiment. System500receives a source document510, which is an electronic representation of a text written by someone who is a non-native language writer. The source document510is provided to a user interface502and is loaded into a document editor520. Document editor520allows a human editor to make editorial correction through manual editing device522, and optionally allows for automatic correction via an automatic correction engine524. Document editor520includes a “track changes” feature, which signals any changes made in a document. A track changes feature, in a word processor, for instance, illustrates all changes made to a document, including additions and deletions thereto.

Once the document has been edited, the track changes are stored in the document510, as is shown at block560. The document510can then be exported to the author as an edited document512. By accepting all of the tracked changes, the edited document512illustrates an edited text without providing the inconvenience of having to decipher the text.

In addition, the now edited document510is exported to an alignment component504. The alignment component extracts and aligns the original and edited sentences from the edited document by deciphering the edits illustrated by the track changes feature as is shown at block562. The aligned sentences are prepared to be transmitted at block564. Optionally, data566about the author and/or the editor of the document can be attached to the aligned sentences. The aligned sentences are then transmitted to a database of aligned sentences506, where they can be utilized by a proofing tool such at the proofing tool108discussed above.

FIG. 8illustrates the relationship between a system600for creating a database of editorial corrections for text written by non-native language writers having a document editor user interface602according to yet another illustrative embodiment. System600includes a document editor user interface602configured to receive an input document610written by a non-native language writer. A document editor620is provided to display the input document610, similar to the document editor described above. The document editor620illustratively includes one or more panes or windows in which text is displayed for correction by the human editor. In one embodiment, a first pane is provided that displays the unedited input document610. A second pane is also provided in which the source test is able to be edited. Alternatively, the document editor620can have a single pane configured to display the input document and any changes made to it. The changes can be highlighted to visually identify any changes made to the input document610, although the document editor need not highlight changes. Changes to the input document can be made either through manual editing device622, which can have access to reference tools626or through automated error correction device624. The manual editing device622and error correction device624can be similar to those discussed above in conjunction with other embodiments.

Once the input document610has been edited with the document editor620, an edited document612can be provided to the author. In addition, the edited document is illustratively provided to a database of edited sentences606, which in turn can be provided to a proofing tool609. Unlike in previous embodiments, where a set of original sentences are aligned with corrected sentences, the database of edited sentences609includes a single set of sentences that include information relative to both the original sentences and edits made thereto. In one illustrative embodiment, the edited sentences incorporate a character offset protocol in meta data to indicate the location of any additions or deletions to an original sentence. The edited sentences located in database609can be stored in any suitable format, including, for example, XML.

As in other embodiments, the database of aligned sentences609is illustratively provided to a proofing tool. Because the database of aligned sentences609of the illustrative embodiment has only one set of sentences as opposed to an aligned set of sentences, it may be necessary to provide a mechanism to read the database of edited sentences609, convert them to a pair of sentences, including an original set of sentences and an edited set and provide alignment between the original and edited set. The newly created set of aligned sentences can then be provided to the proofing tool. Alternatively, the proofing tool can be configured to accept the database of edited sentences609, and convert the edited sentences into an aligned set of sentences.

FIG. 10illustrates an example of a suitable computing system environment700on which embodiments such as system100described above may be implemented. The computing system environment700is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Neither should the computing environment700be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment700.

With reference toFIG. 10, an exemplary system for implementing some embodiments discussed herein includes a general-purpose computing device in the form of a computer710. Components of computer710may include, but are not limited to, a processing unit720, a system memory730, and a system bus721that couples various system components including the system memory to the processing unit720. The system bus721may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.

The system memory730includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM)731and random access memory (RAM)732. A basic input/output system733(BIOS), containing the basic routines that help to transfer information between elements within computer710, such as during start-up, is typically stored in ROM731. RAM732typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit720. By way of example, and not limitation,FIG. 10illustrates operating system734, application programs735, other program modules736, and program data737.

The computer710may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,FIG. 10illustrates a hard disk drive741that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive751that reads from or writes to a removable, nonvolatile magnetic disk752, and an optical disk drive755that reads from or writes to a removable, nonvolatile optical disk756such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive741is typically connected to the system bus721through a non-removable memory interface such as interface740, and magnetic disk drive751and optical disk drive755are typically connected to the system bus721by a removable memory interface, such as interface750.

The drives and their associated computer storage media discussed above and illustrated inFIG. 10, provide storage of computer readable instructions, data structures, program modules and other data for the computer710. InFIG. 10, for example, hard disk drive741is illustrated as storing operating system744, application programs745, other program modules746such as those associated with system100, and program data747. Note that these components can either be the same as or different from operating system734, application programs735, other program modules736, and program data737. Operating system744, application programs745, other program modules746, and program data747are given different numbers here to illustrate that, at a minimum, they are different copies. An example of a program module746is a program including system100, which is discussed herein.

A user may enter commands and information into the computer710through input devices such as a keyboard762, a microphone763, and a pointing device761, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit720through a user input interface760that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). Devices such as the ones described here provide a way for human editors to input data required for editing text such as source document110.

A monitor791or other type of display device is also connected to the system bus721via an interface, such as a video interface790. In the embodiments disclosed above, a document editor such as document editor user interface102provides visual data for the human editor to read in order to make edits. In addition to the monitor, computers may also include other peripheral output devices such as speakers797and printer796, which may be connected through an output peripheral interface795.

The computer710is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer780. The remote computer780may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer710. The logical connections depicted inFIG. 10include a local area network (LAN)771and a wide area network (WAN)773, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the computer710is connected to the LAN771through a network interface or adapter770. When used in a WAN networking environment, the computer710typically includes a modem772or other means for establishing communications over the WAN773, such as the Internet. As described above, source documents110may be received via a variety of different methods of transferring electronic data, including through the use of e-mail, which can be transmitted over a WAN. The modem772, which may be internal or external, may be connected to the system bus721via the user input interface760, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer710, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,FIG. 10illustrates remote application programs785as residing on remote computer780. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

It is to be understood that while this document describes the implementation based on editing English language text written by non-native writers of English, the use of English as the language in the foregoing embodiments is for illustrative purposes only and is not intended to be limiting in any way. Thus, the disclosure can be directed toward correcting the written word by non-native writers of any language.