Multi-sensory content authorship aid

A method, computer system, and a computer program product for recommending additional content to an author generating authored content is provided. The present invention may include monitoring a travel location associated with the author. The present invention may include calculating a multi-sensory region based on the travel location and a maximum sense distance value. The present invention may include selecting at least one piece of additional content from a corpus of additional content based on the multi-sensory region. The present invention may include generating a model based on the at least one piece of additional content. The present invention may include selecting a relevant piece of additional content from the data model based on determining a topic associated with the relevant piece of additional content matches an authored topic associated with the authored content. The present invention may include presenting the selected relevant piece of additional content to the author.

BACKGROUND

Every day billions of pieces of electronic content are authored and shared. A well-crafted and meaningful piece of authored content is developed in stages. These stages may last a fraction of second or take hours to develop. Often, content development may become stalled and content authors may resort to including poor quality elements in order to complete and release their content.

SUMMARY

Embodiments of the present invention disclose a method, computer system, and a computer program product for recommending additional content to an author generating authored content. The present invention may include monitoring a travel location associated with the author. The present invention may also include calculating a multi-sensory region based on the monitored travel location and a maximum sense distance value. The present invention may then include selecting at least one piece of additional content from a corpus of additional content based on the calculated multi-sensory region. The present invention may further include generating a data model based on the selected at least one piece of additional content. The present invention may also include selecting a relevant piece of additional content from the generated data model based on determining a topic associated with the selected relevant piece of additional content matches an authored topic associated with the authored content. The present invention may then include presenting the selected relevant piece of additional content to the author.

DETAILED DESCRIPTION

The following described exemplary embodiments provide a system, method and program product for a multi-sensory content authorship aid. As such, the present embodiment has the capacity to improve the technical field of electronic content analysis by providing a multi-sensory based content authorship aid. More specifically, a content authorship aid program monitors the locations traveled by a user, calculates a multi-sensory region for the user around the monitored locations, selects related content and social data based on the calculated sensory region, generates a multi-sensory model, and then recommends additional content to the author based on the model.

As described previously, every day billions of pieces of electronic content are authored and shared. A well-crafted and meaningful piece of authored content is developed in stages. These stages may last a fraction of second or take hours to develop. Often, content development may become stalled and content authors may resort to including poor quality elements in order to complete and release their content. Furthermore, content authors may release content that could be enriched if additional information was made available to the content author. Identifying, collecting, and presenting additional content to an author that is meaningful from virtually numberless possible pieces of electronic content is difficult.

Therefore, it would be advantageous to, among other things, provide a dynamic way to automatically collect, filter, and present meaningful content for authors to aid content authorship. More specifically, additional content may be collected from electronic content providers that pertains to a geographic region that a user's five senses (i.e., sight, sound, smell, touch, and taste) may have experienced while travelling and may be presented to the user in an electronic content authorship program (e.g., word processor or social media application).

According to at least one embodiment, the content authorship aid program integrates with text editors, message composing editors, or any other program that allows content creation. Content authoring programs may, for example, integrate the content authorship aid program as a plugin, addon, or extension. The content authorship aid program may be activated based on user interaction via a menu or user interface (UI) in the content authoring program, detecting the user has paused while composing content (e.g., pause in typing or dictating content) beyond a threshold amount of time, detecting the user has focused on writing or begun composing content, or through other express actions or observed behavior of the user.

In embodiments, the content authorship aid program may initialize a default user profile that may be further adjusted according to the user's individual preferences. The user profile may include maximum sense distance values for each of the five senses (e.g., the sight maximum distance value may be a 20 foot radius) that are initialized to a default setting that the user may later adjust individually. The user profile may further include other user preferences, such as likes or dislikes (e.g., a user may omit certain senses, such as taste), content editors the user wants the content authorship aid program to be integrated with, specific modes of activation (e.g., have additional content presented only in response to the user clicking a button in the UI or to automatically present content without express action by the user), threshold time length during a pause before presenting additional relevant content, and so forth.

According to some embodiments, after a user profile is set up, the user may register or designate a mobile device (e.g., smartphone) with location tracking capabilities and consent to have the content authorship aid program monitor the user while travelling using the designated mobile device. In monitoring user travels, the content authorship aid program may record the location (e.g., via global positioning system (GPS), location precision/potential error radius, coordinates) and time at a location. According to at least one embodiment, the aggregate travels of multiple related users may be used as the basis for determining meaningful additional content. Such relation may be established based on various people that are known coworkers (e.g., work in the same real estate office or work as a team of engineers), friends, or are otherwise identified as related.

Thereafter, a multi-sensory region is calculated for the user based on one or more of the five senses and maximum distances specified for each sense in the user profile. As described previously, specific senses may be omitted by the user based on the user-provided information in the user profile. For example, a user may choose to omit smell and taste if the user finds such sense related content would be unprofessional, and may indicate these preferences in the user profile. According to at least one embodiment, a clustering algorithm, such as density-based spatial clustering of applications with noise (DBSCAN), may be used to select region segments, ignore outliers, and generate a geographic sensory region. The sensory region may be represented as a geofenced area where information is sourced until the user is finished authoring content.

Related content is then selected based on the calculated sensory region, content topic, and social data. The content authorship aid program may pull historic location data within a specific timeframe (e.g., within a threshold time from when the user was travelling) from social media networks, news services, messaging services, or other content sources. The selection of data may, for example, include native language, images, translations, and textual data. In embodiments, data may be sourced by using Apache Solr™ (Apache Solr and all Apache Solr-based trademarks and logos are trademarks or registered trademarks of the Apache Software Foundation and/or its affiliates) spatial queries, using Twitter filters by location, or using Gnip application programming interface (API) based on regions and coordinates of the sensory region determined by the region calculation. Once the data is sourced or collected, the data may be organized into a data structure that, according to some embodiments, includes at least a source (e.g., social media source), location (e.g., geographic coordinates), content (e.g., the text comment posted on a social network), and an author (e.g., an identifier corresponding with the person that wrote the content). According to at least one embodiment, natural language processing (NLP) may be employed to analyze the content in the sourced additional content data and identify the corresponding sense that may also be added to the data structure.

Based on the selected content, a multi-sensory model is built. The multi-sensory model may model existing language and frequency in order to generate additional content for the author. Content may be ordered within the model based on weighting senses and overlap of the senses. According to some embodiments, a more complicated model may be generated which may model graphical ontology or fragment frequency and selection.

Finally, content is recommended to the author. In embodiments, content may be recommended to the author in response to the author clicking on a button or after determining the user has paused for a threshold amount of time. The content authoring program (e.g., text editor) may be queried to determine the subject of the content that is being created. The subject may be determined, for example, by analyzing the text the user has entered or the heading for the section of content the user is currently composing. Based on the determined subject, data may be selected from the model. The selected data may then be loaded into a template, such as a sentence or quote format. The completed template with additional content data may then be presented to the author. According to some embodiments, the process for selecting additional content may be recalculated after detecting that a paragraph or a sentence written by the author is complete in the content authoring program.

According to the present embodiment, a user using a client computer102or a server computer112may use the content authorship aid program110a,110b(respectively) to receive relevant additional content recommendations based on a multi-sensory region. The content authorship aid method is explained in more detail below with respect toFIG. 2.

According to at least one embodiment, the content authorship aid program110aand110bintegrates with a text editor, message composition editor, dictation software, or other software program108used for content authoring. Content authoring programs may, for example, integrate the content authorship aid program110aand110bas a plugin, addon, or extension. In embodiments, the content authorship aid program110aand110bmay be a standalone application. In the case of an integrated program, the content authorship aid program110aand110bmay be activated based on user interaction via a menu or user interface (UI) in the content authoring program, detecting the user has paused while composing content (e.g., pause in typing or dictating content) beyond a threshold amount of time (e.g., 30 seconds), detecting the user has focused on writing (e.g., through image analysis of a user face and visual focus using a camera connected to an electronic device), begun composing content (e.g., detecting typing in an editor), or through other express actions or observed behavior of the user. According to some embodiments, the content authorship aid program110aand110bmay create a button or other UI feature within the content authoring program that the user may click using a mouse, tap with a finger using a touchscreen, or otherwise interact with to begin the content authorship aid program110aand110b.

In embodiments, a user profile is initialized. The content authorship aid program110aand110bmay initialize a default user profile that may be adjusted later according to the user's individual preferences. The user profile may include maximum distance values for each of the five senses (i.e., sound, sight, smell, touch, and taste) that are initialized to a default setting that the user may adjust. For example, the content authorship aid program110aand110bmay initialize a maximum sight distance value to be a 20 foot radius, a maximum sound distance value to be a 100 foot radius, a maximum touch distance value to be a 3 foot radius, a maximum smell distance value to be a 5 foot radius, and a maximum taste distance value to be a 1 foot radius. Thereafter, the user may open the user profile to adjust the maximum distance values.

For example, the user may right-click on a button within a content authorship program corresponding with the content authorship aid program110aand110band a menu may appear that includes a choice for the user to adjust their user profile. In response to the user selecting the option to adjust their user profile, a UI box may be presented on screen that displays, at least, the five senses and the current maximum distance values for each sense. The distances may then be adjusted by the user using a text box, a slider, or other UI feature. For example, the user may adjust the default maximum sight distance value from the default 20 foot radius to a 25 foot radius. Thereafter, the user may select a button to save the new profile preferences.

Additionally, the user profile may include other user preferences, such as likes or dislikes, identifying the content editors the user wants the content authorship aid program110aand110bto be integrated with, preferred modes of activation (e.g., have additional content presented only in response to the user clicking a button in the UI or to automatically present content without express action by the user), threshold time length during a pause before presenting additional content, and so forth. The likes and dislikes preferences may include specific senses (e.g., a user may omit or dislike certain senses, such as taste, that the user finds to be inappropriate for the content the user creates), certain subjects (e.g., likes cars and dislikes snow), or both. According to alternative embodiments, user preferences of senses or subjects that the user likes or dislikes may be derived based on historical user data. The user profile may also include designated mobile devices (e.g., computer102) with location tracking capabilities (e.g., global positioning system (GPS) receiver or other location sensors) that will allow content authorship aid program110aand110bto monitor the user's travel. When the user selects one or more devices for monitoring user travel, the user may be presented with a dialog box or other notification that obtains user consent for such monitoring. In response to appropriate user consent, the content authorship aid program110aand110bmay add the designated device to the user profile for use in monitoring the user.

Referring now toFIG. 2, an operational flowchart illustrating the exemplary content authorship aid process200used by the content authorship aid program110aand110baccording to at least one embodiment is depicted.

At202, the travel locations of a user are monitored. For each user (i.e., author), locations are recorded using GPS, a location precision or potential error radius is recorded, coordinates for the location, and an amount of time at the location are recorded. Based on monitoring the location, and changes in location, of a mobile device that corresponds with the user, the travel route of the user may be monitored and recorded. Travel may be monitored by a mobile device and transmitted via a communication network116to a computer102that is running the content authorship aid program110aand110b.

For example, the location of user Fred may be tracked by querying a GPS receiver in the smartphone that Fred designated in his user profile. As Fred commences a short trip in the Boston area from his office to a train station, Fred's location is monitored based on the changing location of Fred's smartphone. Using the collected GPS data, the content authorship aid program110aand110bdetermines that Fred is in the Boston area and Fred traveled from an office building to a train station and the route that Fred took. The travel location information may then be stored in a data repository, such as a database114. More specifically, Fred's travels may be recorded in a semi-structured format according to the example shown below.{Fred, Real Estate Office, Stationary, 8 hours—Thursday 8 AM}{Fred, To Yawkey Station, Transitory, 30 minutes—Thursday 4 PM, Dwell Location: Fenway Park, Lansdowne Street}}{Fred, Wait, Yawkey Station, Stationary, 15 minutes—Thursday 4:30 PM}{Fred, Identified Commute Route, Transitory, 30 minutes—Thursday 4:45 PM, Dwell Location: {Boston Landing, Brookline}}{Fred, Store, Groceries Chestnut Hill, Stationary, 15 minutes—Thursday 5:15 PM}

As shown in the above example, data entries of Fred's travels may include a user identifier (e.g., Fred), the location as a fixed location (e.g., train station) or a route (e.g., identified commute route), user movement (e.g., stationary versus transitory), the length of time the user was at the location, a time stamp (e.g., day and hour), and a dwell location, if applicable. Routes may be identified over time based on historical data, identified by the user in the user profile, or by some other method. Location names may be determined by inputting collected raw coordinates of locations the user visited into mapping software which may be running on a server112and receiving (e.g., via a communication network116) location names from the mapping software.

According to alternative embodiments, the content authorship aid program110aand110bmay use multiple users for travel and location data to use for sourcing meaningful content. If the user works at a real estate office, fellow coworker travel data may be combined for use in later steps of the content authorship aid process200. Additional users designated to pool together may, for example, be specified in the user profile.

Next, at204, a multi-sensory region is calculated. According to embodiments, the user profile may be accessed to determine the recorded maximum sense values (e.g., 100 foot radius for sound). The accessed maximum sense values may then be used in conjunction with the previously determined travel data to calculate and define a geographic sense region. For example, if the user profile defined the maximum sight distance to be a 20 foot radius, a region would be calculated that encompasses a 20 foot radius along the route the user previously traveled as the sight sense region. Likewise, additional sense regions may be calculated for the remaining senses. In embodiments, the multi-sensory region may be the aggregate or maximum of the sensory regions calculated. The multi-sensory region may be represented as a geofenced area where information is sourced until the user is finished authoring content.

Then, at206, content related to the multi-sensory region is selected. The content authorship aid program110aand110bmay access social network feeds or other electronic content sources or feeds (i.e., corpus of additional content) to obtain raw content data. For example, GNIP may be used to obtain raw Twitter data that is then saved to a data repository, such as a database114. Thereafter, the raw content data may be fed into a data processing system. For content that has no expressly identified originating location, the originating location may be determined based on information in the raw content (e.g., a place identifier corresponding with a Tweet) and the determined originating location may be added to the raw data.

The content may be further augmented by adding sense labels. In embodiments, textual electronic content that is in natural language form may be analyzed using natural language processing (NLP) techniques to parse and break down elements of the textual content to identify a sense related to the content. The content may be labeled based on predefined word or phrase mappings or dictionaries. For example, if user content included the word “shiny,” the content may be associated with the sense sight based on a mapping of the word shiny to sight and a “sight” tag may be added to augment the collected raw data. In other instances, content may include images that are analyzed using image analysis algorithms to determine a corresponding sense such as sight or other sense. For example, if an image is a zoomed view of an object with a bumpy surface, the image may be tagged with the sense “touch.” Additionally, mixed content that includes, for example, images and text may entail analyzing both the image and text to determine the appropriate sense tags.

The raw content data may be saved in a format such as the format shown in the example below.

As depicted in the above example, each piece of collected content may include the source (e.g., social media source or blog), geographic location (e.g., expressed as coordinates of longitude and latitude), the content (e.g., Tweet or other social media posting), the tagged one or more senses (e.g., sight, sound, taste, touch, or smell), an identifier corresponding with the author, and a time stamp. It will be appreciated that the collected content data may be stored, formatted, and augmented in various other ways based on design and implementation requirements.

Thereafter, the augmented data may be partitioned into a coordinate system based on the geographic locations corresponding with the pieces of data. A clustering algorithm, such as density-based spatial clustering of applications with noise (DBSCAN), may be used to select region segments, ignore outliers, and generate a geographic sensory region. DBSCAN may be used by the content authorship aid program110aand110bto analyze geographic points of the user's travels and obtain content that is clustered around the selected point and within the boundaries of the multi-sensory region. Alternatively, a query may be generated to query the collected social media data based on location. By using the geofenced boundaries of the multi-sensory region, a data query or DBSCAN may be used to identify and select relevant content that was generated within the multi-sensory region. Content may be selected by comparing the originating location of the content to the sensory region associated with the sense assigned to the content. For example, if the user profile specifies that the maximum sight distance value is a 20 foot radius, content that was identified as relating to the sight sense with an originating location within a 15 foot radius of a location the user visited would be selected while sight content that has an originating location of 25 feet from a user location would not be selected. Similar filtering would occur for the rest of the available content. According to at least one other embodiment, relevant content may also be selected from within the multi-sensory region if the content was also generated within a threshold time of when the user was at a given location.

At208a multi-sensory model is generated from the selected content. After the related content is selected, a multi-sensory data model may, according to some embodiments, be generated according to a predefined format. The multi-sensory data model may model the existing language and frequency in order to generate language. In some embodiments, the multi-sensory data model may model select data based on a certain time of day (e.g., 7 AM). The model may also include the people (i.e., authors) that generated content and the frequency of instances of generated content per person. The data model may then identify keywords (e.g., nouns or adjective noun combinations) from the selected content and, based on dictionaries or NLP techniques, a topic may be assigned to the identified keywords.

For example, the following content may be selected based on the multi-sensory region.

From the selected content, an exemplary multi-sensory data model may be generated as follows.

In the above example model, the model is based on a time (i.e., 7 AM). The model includes a list of people that authored the content that was selected which, in this case, includes content authored by “@Engineer” and “@Jeanette” and one piece of content was selected from each of them (i.e., frequency is 1). Then, the content model is generated based on the selected content. Out of the selected content, three keywords were identified: “house,” “market,” and “food.” Each keyword appeared once, therefore the “1” after the keyword signifies the word frequency of one. The model then identifies the author(s) that used the keyword in their content. Finally, the content is analyzed (e.g., using NLP) to determine the topic that the content relates to, such as real estate or food. In alternative embodiments, the model may also indicate the sense associated with the content.

Content within the content model may be weighted or ordered or both. For example, content that is identified as corresponding with more than one sense (e.g., a thunderstorm may correspond with sight and sound) may be weighted higher than content that corresponds with a single sense. Further, certain senses may correspond with greater weights based on predetermined ranking (e.g., sight weighted heavier than sound) or a user preference stored in the user profile may allow the user to specify senses that are most important to the individual user.

According to other embodiments, the content authorship aid program110aand110bmay generate more complex models such as a graphical ontology or fragment frequency and selection.

Then, at210, relevant content from the multi-sensory model is recommended to the author. Based on the specific implementation and user preferences, the content authorship aid program110aand110bmay begin recommending and presenting additional content in response to the author clicking on a UI button, selecting the appropriate menu option, after determining the user has paused for a threshold amount of time, continuously while the user is typing, or other triggering event criteria. The content authoring program (e.g., text editor) may be queried (e.g., through an application programming interface (API)) to determine the subject of the authored content that is being created. The subject or authored topic may be determined, for example, by analyzing the text the user has entered or the heading for the section of content the user is currently composing. In embodiments, text analysis may be accomplished through the use of NLP algorithms to identify a topic from natural language text strings in the document body, heading, the author expressly designating a subject, or other methods. When analyzing headings, the content authorship aid program110aand110bmay use the content authoring program API or identify predefined tags corresponding with heading text.

For example, if an author is writing about the topic of baseball, certain words or phrases may be identified in the text the author is generating which are correlated with baseball, such as “shortstop,” “base hit,” and “inning.” Using NLP to determine the presence of words related to baseball, the content authorship aid program110aand110bwill designate the current topic to be baseball. Thereafter, the multi-sensory model is searched to select content that is tagged with the topic of baseball.

Content with the matching (or in some embodiments, most similar) topic is selected for recommending to the author. In instances with more than one piece of relevant content, the highest weighted or ordered content is selected. In other embodiments, multiple pieces of relevant content may be presented to the author.

The selected content data may then be loaded into a template. Templates may include various predefined formats that present the content data together with additional data such as the identifier corresponding with the author of the selected content. According to at least one embodiment, the selected content may be loaded into a sentence template that presents the content in an adjective subject verb pattern. In other embodiments, the content may be loaded into a quote template that may be formatted to read “As <Author> says, <Quote Selected Content>” or another defined quote format.

The completed template with selected content data may be presented to the author within the content editor using the content authorship aid program110aand110b. According to some embodiments, the selected content, formatted according to a template, may be presented within the content editor in a designated partition of the UI. For example, within a word processor, a pane may be displayed within the right-hand side of the UI. Within the pane, the selected content is displayed to the author. In other embodiments, a UI box, such as a dialog box, may appear containing the selected content in response to the author clicking a button corresponding with the content authorship aid program110aand110b.

According to alternative embodiments, the amount of additional content that is recommended to the author may be limited to facilitate the maximum amount of organic contribution by the author to their content. For example, selected content may not be presented to the author if the percentage of the content the author is generating from recommended additional content exceeds a threshold percentage.

It may be appreciated thatFIG. 2provides only an illustration of one embodiment and does not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted embodiment(s) may be made based on design and implementation requirements.

According to another embodiment, the content authorship aid program110aand110bmay capture natural language segments that describe subjects from different views or perspectives. For example, if the author is writing on the subject of cars, content may be recommended that includes positive adjectives such as “shiny new car” and content that includes negative adjectives such as “rusty old car.”

In another alternative embodiment, raw collected content may be translated according to globalized or localized definitions. Viewers and authors of content may interpret or define different words, phrases, or slang differently based on their locality. Thus, the target audience for the content the author is creating may be determined (e.g., from historical demographic data of the audience of previous content from the author) and then the appropriate translation may be applied before presenting to the selected content to the author.

As described in embodiments above, the content authorship aid program110aand110bmay improve the functionality of a computer by enabling a computer to efficiently analyze electronic content data and then effectively identify relevant additional content for an author. The amount of possible electronic content data to draw from to suggest to an author is enormous. The above embodiments provide a dynamic and efficient way to narrow the pool of candidate data to include content emanating from locations within sensory perception of the author and determine additional content to recommend based on the subject of the content the user is currently authoring.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

Referring now toFIG. 5, a set of functional abstraction layers1100provided by cloud computing environment1000is shown. It should be understood in advance that the components, layers, and functions shown inFIG. 5are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:

Workloads layer1144provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation1146; software development and lifecycle management1148; virtual classroom education delivery1150; data analytics processing1152; transaction processing1154; and content authorship aid1156. A content authorship aid program110a,110bprovides a way to identify and present content originating from within a multi-sensory region to aid content authors.