Content processing applications and services, especially textual content, provide a number of controls for selecting, modifying aspects of content such as formatting, grammatical or stylistic corrections, even word replacements through synonym/antonym suggestions. In typical systems, such controls are available individually, sometimes independently or interdependently. Thus, users may be enabled to select and modify aspects of content they create or process, but they have to do it manually.
Furthermore, creating content to match a particular style (not necessarily formatting, but prose style) is mostly a manual process left to the user in conventional applications. For example, if an organization has a particular preference for not only formatting, but also choice of words, sentence structure, and similar aspects of documents created by its members, it may be a process left to individual users to learn and apply the organization's preferences.
Frustrations potentially experienced by users in creating and editing content to match predefined criteria may be aggravated in collaborative environments, where content may be created and processed by multiple users simultaneously and/or sequentially.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
Embodiments are directed to automated editing functionality in an application or service through which content may be processed providing features like automated conversion of textual content to one voice (style, format, even content adjustments), natural language use in interaction and processing, format modifications such as date/currency adjustments, analysis of who has been editing the content and how, and combination of individual portions of work into a team output. In addition to correction of grammatical and stylistic errors in the created work, citations may be provided. In some examples, automated fact-checking may be performed providing users with corrected facts, quotations, and similar ones along with the source. Edited content may be in various forms such as word processing documents, presentation documents, spreadsheets, and comparable ones. Notifications and analysis results may be provided through various communication means, such as email, text messages, publication to social/professional networks, blogs, and similar means.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.
As briefly described above, an automated editing functionality in an application or service may enable automated conversion of textual content to one voice (style, format, even content adjustments), natural language use in interaction and processing, format modifications such as date/currency adjustments, analysis of who has been editing the content and how, and combination of individual portions of work into a team output. Automated fact-checking may be performed with citation and providing users with corrected facts, quotations, and similar ones along with the source.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a computer-readable memory device. The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable hardware media.
Throughout this specification, the term “platform” may be a combination of software and hardware components for automated content editing functionality. Examples of platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single computing device, and comparable systems. The term “server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below.
Referring to
Diagram 100 represents local computing environment in a computing device 106, where a content processing application may enable one or more users such as users 114 to create and process content individually or collaboratively. The content processing application may be executed as a locally installed application on a desktop computer 104, a laptop computer 106, a tablet 108, a smart phone 116, a smart whiteboard 102, and similar devices. The content processing application may also be part of a hosted service executed on a server 110 and accessed by client devices through a network 112.
The content processing application may provide an automated editing functionality with features like automated conversion of textual content to one voice, natural language use in interaction and processing, format modifications such as date/currency adjustments, analysis of who has been editing the content and how, and combination of individual portions of work into a team output. In some examples, automated fact-checking may be performed with citations providing users with corrected facts, quotations, and similar ones along with the source. Notifications and analysis results on the processed content may be provided through various communication means, such as email, text messages, publication to social/professional networks, blogs, and similar means.
The content processing application may be a word processing application, a presentation application, a spreadsheet application, a note taking application, a collaboration application with a content editing module, and comparable ones.
The example systems in
Referring to
As shown in screenshot 200, a user interface for a content processing application may display the created/processed content with controls 206 for formatting, fact-checking, and comparable content processing tasks. In some embodiments, the content processing application may be part of a hosted service and accessed by a user through a thin or thick client application such as a browser. In the latter case, the user may simply enter the uniform resource locator (URL) 204 of the particular service with their identification and access the application. The user's identity 202 may also be displayed on the user interface. In case of collaborative editing, other users working on the same content may be displayed too.
In response to detecting highlighting of a portion 208 of the content, the application may present a view pane 210 with results from a search engine showing fact-checking results for the highlighted portion 208 of the content. In other embodiments, the fact-checking may be completely automatic, where the application may determine factual portions of the content such as dates, places, names, quotations, numeric values such as population, economic facts, formulas, and so on, and perform the fact-checking and correction without the user actively indicating the factual portions. Citations for corrected facts may be provided in a separate pane such that the user can import them into the content document as formal citations or automatically inserted into the document according to the document's citation convention. Moreover, changes or corrections may be emphasized for the user to review employing a color scheme, a highlighting scheme, and/or other formatting schemes such as using bold/italic font, etc.
The browser user interface shown in the screenshot 200 is for illustration purposes. In addition to standard elements such as an address of the current web page, a search box, command menus, and a tab indicating the web page, other elements may be provided in various locations and in any order using the principles described herein.
Referring to
In the example scenario of diagram 300, a sociology paper 302 is being collaboratively created by a team. The user interface indicates to a current user 306 that the document was updated as of one hour ago (304). In addition to displaying the processed content 308, the user interface presents indications 310 of which collaborator provided what input and when such as additions, deletions, modifications along with a representation of each collaborator. Furthermore, the changes made by the collaborators may be displayed in detail for the current user 306 to view (e.g., an added paragraph, an added image, and so on). The information associated with the collaborators and modified content may be hidden/presented based on current user's choice (e.g., toggling of a control on the user interface).
Referring to
The collaboration pane 404 may display representations (e.g., images or icons) of the collaborators along with their names and also provide additional information such as when they processed the selected portion of content and what they did. In addition to a standard editing toolbar 410, a collaboration toolbar 402 may be provided for performing collaboration tasks such as viewing a particular collaborator's contributions, communicating with one or more collaborators, and similar tasks.
In some embodiments, a date, time, currency, number system, and similar formatting aspects may be automatically adjusted to a user's locale for uniform usage. Grammatical and stylistic issues in the collaboratively created work may be corrected and citations may be provided. Individual contributor's style, format, and content of text may be adjusted for collaboration unity or to achieve a single voice. Consistency of grammatical elements, hyperlinks, entities, places, people, acronyms, dates, references, etc. may also be edited for achieving the single voice.
Style may be applied based on previously used styles by team members, organizational style requirements, and standardized styles. The styles to be applied may be determined by inference (e.g., “edu” domain for the collaborative team may indicate and educational institution). Styles and other changes may be suggested to the user(s) based on content (e.g., scholarly article, marketing brochure, and so on). In other embodiments, a table of contents, references, and a list of authors for the collaboration may be automatically provided.
Referring to
Changes, corrections, potential problems, etc. associated with created and/or processed content may be highlighted or similarly emphasized. Created and/or processed content may include textual content, images, graphics, embedded objects, and similar content. While style and format changes typically apply to textual content, similar adjustments may also be performed on other types of content. For example, size, location, coloring, shading, etc. of images or graphics, controls presented for embedded objects (e.g., play controls for audio or video objects) may be selected/modified for consistency with the determined/inferred voice of the content.
In the example scenario shown in diagram 500, textual formatting changes on the presented content 508 include re-formatting of titles 504 and automatic indentation 510. Changes automatically applied by the content processing application may be shown to the user through tooltips or similar indications. In some embodiments, color/highlighting, shading, and/or textual schemes may be employed to emphasize the changes.
Diagram 500 further illustrates change to an image 506. Images may be examined/upgraded for fidelity, adjusted for fit into work style (size, shape, placement), and so on. The change to the image 506 (e.g., sizing, coloring, shading, placement, etc.) may be emphasized through graphical elements. For example, image 506 may be resized to fit available space and the resizing may be emphasized through arrows or a dashed frame 512 indicating to the user that a change was applied to the displayed image.
Referring to
In the example embodiment shown in diagram 600, options provided to the user upon highlighting of a portion 602 of the displayed content 608 in an options menu 604 are illustrated. For example, a user may be enabled to comment on the highlighted portion, insert a note (e.g., for the collaborators) associated with the highlighted portion, or assign the highlighted portion to a collaborator. Additional information may also be presented such as which collaborator last edited the highlighted portion. The user may also be enabled to view a complete history of edits on the highlighted portion 602 of the displayed content 608.
In some embodiments, the user may be enabled to select desired options through a touch or gesture action 606. For enhanced collaboration on the content, invitation, assignment, presence information about authors, real-time co-authoring, private work, and commenting may be enabled through a user-friendly interface. Notifications and analysis results may be provided through email or a similar communication means, as well as publication to social or professional networks or blogs, among other methods. Furthermore, learning algorithms may be used to dynamically adjust the processing.
The examples in
Client applications executed on any of the client devices may facilitate communications with hosted content processing applications executed on servers 706, or on individual server 704. A content processing application executed on one of the servers may facilitate determination of style, formatting, content, and other changes, automatic application of the changes, and collaboration with change tracking as discussed above. The content processing application may retrieve relevant data from data store(s) 716 directly or through database server 702, and provide requested services to the user(s) through the client devices.
Network(s) 714 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 714 may include secure networks such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 714 may also coordinate communication over other networks such as Public Switched Telephone Network (PSTN) or cellular networks. Furthermore, network(s) 714 may include short range wireless networks such as Bluetooth or similar ones. Network(s) 714 provide communication between the nodes described herein. By way of example, and not limitation, network(s) 714 may include wireless media such as acoustic, RF, infrared and other wireless media.
Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to implement a platform responsive to individual user intent and directed to an automated editing functionality. Furthermore, the networked environments discussed in
The collaboration application 822 may determine through analysis, inference, or other methods a uniform/desired voice for content being created or processed. The collaboration application 822 through the editing module 824 may then determine needed style, formatting, etc. changes, perform fact-checking, and apply the changes automatically presenting the user(s) options to accept or reject the changes, as well as track each other's collaboration efforts on the content. The collaboration application 822 and the configuration module 824 may be separate applications or integrated modules of a hosted service. This basic configuration is illustrated in
The computing device 800 may have additional features or functionality. For example, the computing device 800 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Some embodiments may be implemented in a computing device that includes a communication module, a memory device, and a processor, where the processor executes a method as described above or comparable ones in conjunction with instructions stored in the memory device. Other embodiments may be implemented as a computer readable memory device with instructions stored thereon for executing a method as described above or similar ones. Examples of memory devices as various implementations of hardware are discussed above.
The computing device 800 may also contain communication connections 822 that allow the device to communicate with other devices 826, such as over a wired or wireless network in a distributed computing environment, a satellite link, a cellular link, a short range network, and comparable mechanisms. Other devices 826 may include computer device(s) that execute communication applications, web servers and the comparable device 108. Communication connection(s) 822 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program.
The process 900 begins with an operation 902, where a uniform and/or desired voice for content may be determined based on user input, predefined parameters, or inference. At operation 904, the content may be analyzed for elements that do not match the uniform/desired voice such as stylistic, grammatical, formatting, language, and/or content elements.
At operation 906, fact-checking may be performed on factual portions of content such as dates, places, names, quotations, numeric values such as population, economic facts, formulas, and so on. At operation 908, changes to elements detected as non-compliant with the determined voice for the content and changes based on the fact-checking may be applied. In some embodiments, citations may also be inserted.
At operation 910, the applied changes may be emphasized through a coloring, highlighting, shading, or textual scheme to alert the user about the changes and give the user an option to accept or reject the changes. In other embodiments, collaborative efforts on the content such as additions, deletions, modification, and comments may be tracked and presented for an enhanced collaborative experience. Collaborators may be enabled to communicate within a context of the content (e.g., through notes, comments, and other forms of exchanges).
The operations included in the process 900 are for illustration purposes. Automatic editing content for achieving uniform and/or desired voice for the content may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.