Modifying a document being entered by a user by adding data from at least one of a plurality of news items relevant to the document includes determining other documents in a collection of documents that are relevant to the document being entered by the user, constructing a filter based on content of the document being entered by the user and on the other documents, presenting on a display the plurality of news items selected from a plurality of news feeds according to the filter, the user selecting from the display at least one of the news items, and the user inserting data from the at least one of the news items into the document. The document may be a note and the collection of documents may be a notebook. The note and the notebook may be provided by the OneNote product from Microsoft Corporation and/or by the Evernote product.
|
1. A method, comprising:
receiving user input of content of a first document being entered by a user in an application;
while receiving the user input of the content of the first document, dynamically and in real time, identifying a set of relevant information items from a plurality of information feeds, including:
obtaining a set of one or more other documents in a collection of documents that are relevant to the first document being entered by the user, wherein the collection of documents is compiled by the user or shared among one or more groups to which the user belongs, and each document in the collection of documents was previously compiled by the user or the one or more groups;
determining, while receiving the user input, whether changes in member documents of the set of one or more other documents satisfies a stabilization criterion;
in accordance with the determination that the stabilization criterion is satisfied, extracting a set of related terms from the content of the first document and the one or more other documents;
constructing a filter based on the set of related terms extracted from the content of the first document and the one or more other documents; and
applying the filter to identify the set of relevant information items including the related terms from the plurality of information feeds; and
enabling presenting on a display the set of relevant information items.
16. A non-transitory computer-readable medium storing one or more programs, the one or more programs including instructions that when executed by a computer system cause the computer system to implement operations comprising:
receiving user input of content of a first document being entered by a user in an application;
while receiving the user input of the content of the first document, dynamically and in real time, identifying a set of relevant information items from a plurality of information feeds, including:
obtaining one or more other documents in a collection of documents that are relevant to the first document being entered by the user, wherein the collection of documents is compiled by the user or shared among one or more groups to which the user belong, and each document in the collection of documents was previously compiled by the user or the one or more groups;
determining, while receiving the user input, whether changes in member documents of the set of one or more other documents satisfies a stabilization criterion;
in accordance with the determination that the stabilization criterion is satisfied, extracting a set of related terms in the content of the first document and the one or more other documents;
constructing a filter based on the set of related terms identified in the content of the first document and the one or more other documents; and
applying the filter to retrieve the set of related terms and identify the set of relevant information items from the plurality of information feeds; and
enabling presenting on a display the set of relevant information items.
15. A method of adding a new document to a collection of documents, comprising:
receiving user input of content of a first document being entered by a user in an application;
while receiving the user input of the content of the first document, dynamically and in real time, identifying a set of relevant information items from a plurality of information feeds, including:
obtaining one or more other documents in the collection of documents that are relevant to the first document being entered by the user that is independent of the new document, wherein the collection of documents is compiled by the user or shared among one or more groups to which the user belong, and each document in the collection of documents was previously compiled by the user or the one or more groups;
determining, while receiving the user input, whether changes in member documents of the set of one or more other documents satisfies a stabilization criterion;
in accordance with the determination that the stabilization criterion is satisfied, extracting a set of related terms from the content of the first document and the one or more other documents;
constructing a filter based on the set of related terms extracted from the content of the first document being entered by the user and on the one or more other documents; and
applying the filter to identify the set of relevant information items including the related terms from the plurality of information feeds; and
enabling presenting on a display the set of relevant information items, thereby allowing the user to select at least one of the relevant information items for insertion into the collection of documents as the new document.
30. A non-transitory computer readable medium storing one or more programs for adding a new document to a collection of documents, the one or more programs including instructions that when executed by a computer system cause the computer system to implement operations comprising:
receiving user input of content of a first document being entered by a user in an application;
while receiving the user input of the content of the first document, dynamically and in real time, identifying a set of relevant information items from a plurality of information feeds, including:
obtaining one or more other documents in the collection of documents that are relevant to the first document being entered by the user that is independent of the new document, wherein the collection of documents is compiled by the user or shared among one or more groups to which the user belong, and each document in the collection of documents was previously compiled by the user or the one or more groups;
determining, while receiving the user input, whether changes in member documents of the set of one or more other documents satisfies a stabilization criterion;
in accordance with the determination that the stabilization criterion is satisfied, extracting a set of related terms from the content of the first document and the one or more other documents;
constructing a filter based on the set of related terms extracted from the content of the first document being entered by the user and on the one or more other documents; and
applying the filter to identify the set of relevant information items including the related terms from the plurality of information feeds; and
enabling presenting on a display the set of relevant information items, thereby allowing the user to select at least one of the relevant information items for insertion into the collection of documents as the new document.
2. The method, according to
3. The method, according to
receiving a user selection of at least one information item of the set of relevant information items; and
identifying at least part of the at least one information item configured to be inserted into the first document.
4. The method, according to
5. The method, according to
6. The method, according to
7. The method, according to
8. The method, according to
enabling display of a first pane showing content of the first document being entered by the user, a second pane showing the one or more other documents that are relevant to the first document being entered by the user, and a third pane showing the relevant information items identified from the plurality of information feeds.
9. The method, according to
10. The method, according to
determining stabilization of the relevance values of the one or more other documents based on changes in the relevance values as the user enters additional text in the first document being entered by the user.
11. The method, according to
inserting data from the at least one of the relevant information items into the first document, including selecting text from a portion of the at least one of the relevant information items.
12. The method, according to
13. The method, according to
14. The method of
17. The non-transitory computer readable medium, according to
18. The non-transitory computer readable medium, according to
receiving a user selection of at least one information item of the set of relevant information items; and
identifying at least part of the at least one information item configured to be inserted into the first document.
19. The non-transitory computer readable medium, according to
20. The non-transitory computer readable medium, according to
21. The non-transitory computer readable medium, according to
22. The non-transitory computer readable medium, according to
23. The non-transitory computer readable medium, according to
instruction for enabling display of a first pane showing content of the first document being entered by the user, a second pane showing the one or more other documents that are relevant to the first document being entered by the user, and a third pane showing the relevant information items identified from the plurality of information feeds.
24. The non-transitory computer readable medium, according to
25. The non-transitory computer readable medium, according to
instructions for determining stabilization of the relevance values of the one or more other documents in accordance with a determination that changes in the relevance values become insignificant as the user enters additional text in the first document being entered by the user.
26. The non-transitory computer readable medium, according to
27. The non-transitory computer readable medium, according to
28. The non-transitory computer readable medium, according to
29. The non-transitory computer readable medium of
|
This application claims priority to U.S. Prov. App. No. 62/027,906, filed Jul. 23, 2014, and entitled “CONTEXTUAL OPTIMIZATION AND INLINE CLIPPING OF NEWS STREAMS ASSOCIATED WITH CONTENT ENTRY,” which is incorporated by reference herein.
This application relates to the fields of information management, search and presentation of personal and shared information and more particularly to the field of retrieving and quoting related articles from a news stream associated with a dynamically entered note.
The notion of related items is broadly used in online publishing, shopping, travel, search, and in many other web services and applications. References to related articles may help news site visitors to expand their view of an original publication or topic; lists of related goods may lead online shoppers to better product choices. Overall, the notion of relatedness has had positive impact on web experiences and user productivity.
Since the proliferation of personal and shared content collections, such as Evernote notebooks supported by the Evernote service and software developed by Evernote Corporation of Redwood City, Calif., web and document clippings are finding and increased usage in everyday productive activities. As personal content items are accumulated in such content collections (for example, in Evernote notebooks), it becomes increasingly important to account for existing materials simultaneously with making new additions to the database; this requires identifying related items previously added to the database that can be associated with new materials.
Mechanisms have been developed to retrieve related items from individual and shared content collections every time a user clips a web page or a document, conducts an online search or looks for an item in individual or shared content collections, as described in U.S. Published Patent Application No. 2013/0318063-A1 titled: “RELATED NOTES AND MULTI-LAYER SEARCH IN PERSONAL AND SHARED CONTENT”, published on Nov. 28, 2013 by Ayzenshtat, et al. and incorporated by reference herein. These mechanisms take into account substantial differences between information in limited content collections accessible only by individuals, groups or organizations who have compiled the content collections, on the one hand, and social browsing history that is successfully used by search engines, e-commerce and news sites and other cloud-based services for identification of related items on public websites, on the other hand.
Contemporary work processes increasingly rely upon streams of online or local content delivered to user desktops and mobile devices. Examples of such content rich environment include news feeds, stock quotes, notifications about pre-scheduled meetings, and matching items on watch lists (goods, upcoming concerts or conferences and other items), etc. When properly delivered, displayed and used, such content streams may contribute to efficient work scheduling where attention span cycles are accounted for and productive work is mixed with periods of rest and consumption of general information.
Notwithstanding advances made in the development of personal and shared content management systems, mechanisms for identifying related items from personal and public content collections, and content streaming to user devices, an efficient use of content rich environments with external content still faces significant challenges:
Accordingly, it is desirable to provide a mechanism for enhancing user productivity during direct information entry into content collections and to include streams of news and other external information, to automatically generate and modify related news items, and to improve clipping processes.
According to the system described herein, modifying a document being entered by a user by adding data from at least one of a plurality of news items relevant to the document includes determining other documents in a collection of documents that are relevant to the document being entered by the user, constructing a filter based on content of the document being entered by the user and on the other documents, presenting on a display the plurality of news items selected from a plurality of news feeds according to the filter, the user selecting from the display at least one of the news items, and the user inserting data from the at least one of the news items into the document. The document may be a note and the collection of documents may be a notebook. The note and the notebook may be provided by the OneNote product from Microsoft Corporation and/or by the Evernote product from Evernote Corporation. Determining the other documents that are relevant to the document being entered by the user may include determining relevance values based on term frequency values and inverse document frequency values for characteristics of the other documents and the document being entered. The characteristics may include a title, a body portion, and/or a tag. Relevance of a particular one of the other documents to the document being entered by the user may be a weighted sum of the relevance values for characteristics. The collection of documents may be an individual collection or a shared collection. The display may include a first pane showing content of the document being entered by the user, a second pane showing the other documents that are relevant to the document being entered by the user, and a third pane showing the items selected from news feeds. No other documents may be shown in the second pane until after stabilization of relevance values of the other documents. Stabilization of relevance values of the other documents may be determined in response to changes in relevance values becoming insignificant as the user enters additional text in the document being entered by the user. Inserting data from the at least one of the news items into the document may include selecting text from a portion of the at least one of the news items. In response to actuating a button, text that is selected from the portion of the at least one of the news items may be copied into the document as quoted text. After a predetermined amount of time, text that is selected from the portion of the at least one of the news items may be copied into the document as quoted text without further user input.
According further to the system described herein, adding a new document to a collection of documents includes determining other documents in the collection of documents that are relevant to a document being entered by the user that is independent of the new document, constructing a filter based on content of the document being entered by the user and on the other documents, presenting on a display a plurality of news items selected from a plurality of news feeds according to the filter, and the user selecting from the display at least one of the news items that is inserted into the collection as the new document.
According further to the system described herein, a non-transitory computer-readable medium contains software that modifies a document being entered by a user by adding data from at least one of a plurality of news items relevant to the document. The software includes executable code that determines other documents in a collection of documents that are relevant to the document being entered by the user, executable code that constructs a filter based on content of the document being entered by the user and on the other documents, and executable code that presents on a display the plurality of news items selected from a plurality of news feeds according to the filter, where the user selects from the display at least one of the news items and inserts data from the at least one of the news items into the document. The document may be a note and the collection of documents may be a notebook. The note and the notebook may be provided by the OneNote product from Microsoft Corporation and/or by the Evernote product from Evernote Corporation. Executable code that determines the other documents that are relevant to the document being entered by the user may determine relevance values based on term frequency values and inverse document frequency values for characteristics of the other documents and the document being entered. The characteristics may include a title, a body portion, and/or a tag. Relevance of a particular one of the other documents to the document being entered by the user may be a weighted sum of the relevance values for characteristics. The collection of documents may be an individual collection or a shared collection. The display may include a first pane showing content of the document being entered by the user, a second pane showing the other documents that are relevant to the document being entered by the user, and a third pane showing the items selected from news feeds. No other documents may be shown in the second pane until after stabilization of relevance values of the other documents. Stabilization of relevance values of the other documents may be determined in response to changes in relevance values becoming insignificant as the user enters additional text in the document being entered by the user. Executable code that inserts data from the at least one of the news items into the document may insert the data in response to the user selecting text from a portion of the at least one of the news items. In response to actuating a button, text that is selected from the portion of the at least one of the news items may be copied into the document as quoted text. After a predetermined amount of time, text that is selected from the portion of the at least one of the news items may be copied into the document as quoted text without further user input.
According further to the system described herein, a non-transitory computer readable medium contains software that adds a new document to a collection of documents. The software includes executable code that determines other documents in the collection of documents that are relevant to a document being entered by the user that is independent of the new document, executable code that constructs a filter based on content of the document being entered by the user and on the other documents, and executable code that presents on a display a plurality of news items selected from a plurality of news feeds according to the filter, wherein the user selects from the display at least one of the news items that is inserted into the collection as the new document.
The proposed system tracks user input into new content items, such as notes or documents, examines individual or shared content collection(s) to retrieve related items based on linguistic similarities between textual input and existing content items, monitors sets of related items until the related sets reach stability during dynamic content input, combines user input and related items as a context for defining a custom news stream, builds and presents to a user a custom news stream from news feeds or other online or local information sources, and allows inline clipping of quotes from selected fragments or of full content of news items directly into new content items entered by the user.
System workflow may include the following:
Each item in a content collection may include typed or clipped text, images, handwriting, embedded audio, video, and attachments in document format or in other text-based, binary or combined formats. An item may also have various parts, such as a title a body or a text extracted via OCR and handwriting recognition from images present in a content item, as well as multiple attributes: a creation and/or last update time or location, source URL(s) or other reference info in case when the content item or its portions were clipped from a webpage or other existing source, links to other items in the same or an associated content collection, links to outside resources, assigned tags, author name(s), revision history, etc.
Retrieving related items based on a dynamic user input may combine attribute-based multi-criteria similarity with filtering rules. Specifically, similarity between the input and an individual content item in a content collection may be calculated as follows:
A list of related items with respect to such a weighted aggregation may be formed by cutting off content items having relevance values that fall below a predefined threshold; alternatively, the list may be built by choosing a pre-defined maximum number of related items, or by using other mechanisms.
The system may build and update sets of related content items (notes, documents, etc.) following user input. By the time a set of related items reflecting a previous state of user input has been created, the user might have entered more text, as explained elsewhere herein (see step 3 above). Subsequently, the set of related items may change as the user adds more text to the input. The system may employ various mechanisms for tracking stability of the set of related content items and may start displaying related items only when the set remains sufficiently stable, as explained elsewhere herein. The system may also postpone any display of related items until the user completes the input in case stabilization criteria are not met. Criteria for measuring stability of a set of related notes may include changes in the set, stabilization of similarity scores for particular content items, etc.
At a next phase (step 4 above), the system may use a combination of the new item and the related items to define a context for custom news streams. The system may extract and rank keywords, named entities and other context from a combination of the new and the existing related items and use a result thereof for filtering news feeds and other cloud-based or local news sources to construct custom news feed and offer the custom news feeds to the user. Various display techniques may be used to visualize related content items and custom news feeds; for example, a split pane with scrollable portions where one portion represents related items and another is for custom news items may be used. The user may scroll news items, view and choose from among the news items.
Upon selection of a portion of a news item, the user may be able to press a clipping button and selected content may immediately appear within quotes in the input item. The user may be able to set up a clipping option in such way that selected content appears at a current cursor position in the input item after a predefined timeout without otherwise actuating clipping (e.g., pressing any button). Alternatively, the user may be able to add selected content or add a whole news item to a content collection as a separate item or use one button to either insert segments in an existing item or add a new news item to the content collection. In this way, custom news streams and other external sources of information may serve as assistive materials and may be used directly in an authoring process to enhance newly created content.
Embodiments of the system described herein will now be explained in more detail in accordance with the figures of the drawings, which are briefly described as follows.
The system described herein provides a mechanism for building and presenting to users custom news streams associated with a continuous textual user input. The system employs related notes retrieved from a content collection for the current input based on multi-criteria similarity and filters news streams based on a combined content of the current input and the set of related notes. The system may also support direct quoting of news items into a current item being entered by a user.
A particular similarity criterion 220, 220a chosen for illustration purpose in
Referring to
After the step 660, processing proceeds to a step 670, where the system accesses external information sources, such as news feeds, and filters news feeds using a filter created at the step 660, thus creating a custom stream of news entities or other external information related to the input, as explained elsewhere herein (see, for example, the filter 140 in
Various embodiments discussed herein may be combined with each other in appropriate combinations in connection with the system described herein. Additionally, in some instances, the order of steps in the flowcharts, flow diagrams and/or described flow processing may be modified, where appropriate. Subsequently, elements and areas of screen described in screen layouts may vary from the illustrations presented herein. Further, various aspects of the system described herein may be implemented using software, hardware, a combination of software and hardware and/or other computer-implemented modules or devices having the described features and performing the described functions.
Note that mobile device(s) capable of running the system described herein may include software that is pre-loaded with the device, installed from an application store, installed from media such as a CD, DVD, etc., and/or downloaded from a Web site. The mobile device may use an operating system such as iOS, Android OS, Windows Phone OS, Blackberry OS and mobile versions of Linux OS.
Software implementations of the system described herein may include executable code that is stored in a computer readable medium. The computer readable medium may be non-transitory and include a computer hard drive, ROM, RAM, flash memory, portable computer storage media such as a CD-ROM, a DVD-ROM, a flash drive, an SD card and/or other drive with, for example, a universal serial bus (USB) interface, and/or any other appropriate tangible or non-transitory computer readable medium or computer memory on which executable code may be stored and executed by a processor. The system described herein may be used in connection with any appropriate operating system.
Other embodiments of the invention will be apparent to those skilled in the art from a consideration of the specification or practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims.
Libin, Phil, Pachikov, Alex, Currimbhoy, Zeesha
Patent | Priority | Assignee | Title |
11907642, | May 15 2013 | Microsoft Technology Licensing, LLC | Enhanced links in curation and collaboration applications |
11940953, | Nov 25 2019 | International Business Machines Corporation | Assisted updating of electronic documents |
Patent | Priority | Assignee | Title |
6247010, | Aug 30 1997 | NEC Corporation | Related information search method, related information search system, and computer-readable medium having stored therein a program |
20050071319, | |||
20080172364, | |||
20120317097, | |||
20130159306, | |||
20130318063, | |||
20140278556, | |||
20160267179, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 24 2015 | PACHIKOV, ALEX | EVERNOTE CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036755 | /0195 | |
Jul 20 2015 | EVERNOTE CORPORATION | (assignment on the face of the patent) | / | |||
Jul 24 2015 | CURRIMBHOY, ZEESHA | EVERNOTE CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036755 | /0195 | |
Aug 06 2015 | LIBIN, PHIL | EVERNOTE CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036755 | /0195 | |
Sep 30 2016 | EVERNOTE CORPORATION | Silicon Valley Bank | SECURITY AGREEMENT | 040192 | /0720 | |
Sep 30 2016 | EVERNOTE CORPORATION | HERCULES CAPITAL, INC , AS AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 040240 | /0945 | |
Oct 19 2020 | HERCULES CAPITAL, INC | EVERNOTE CORPORATION | INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION AT R F 040240 0945 | 054213 | /0234 | |
Oct 19 2020 | Silicon Valley Bank | EVERNOTE CORPORATION | INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION AT R F 040192 0720 | 054145 | /0452 | |
Oct 19 2020 | EVERNOTE CORPORATION | East West Bank | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 054113 | /0876 | |
Oct 01 2021 | East West Bank | EVERNOTE CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 057852 | /0078 | |
Oct 01 2021 | EVERNOTE CORPORATION | MUFG UNION BANK, N A | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 057722 | /0876 | |
Jan 03 2023 | MUFG BANK, LTD | EVERNOTE CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 063116 | /0260 | |
Dec 29 2023 | EVERNOTE CORPORATION | BENDING SPOONS S P A | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 066288 | /0195 |
Date | Maintenance Fee Events |
Oct 24 2022 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Date | Maintenance Schedule |
Apr 23 2022 | 4 years fee payment window open |
Oct 23 2022 | 6 months grace period start (w surcharge) |
Apr 23 2023 | patent expiry (for year 4) |
Apr 23 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 23 2026 | 8 years fee payment window open |
Oct 23 2026 | 6 months grace period start (w surcharge) |
Apr 23 2027 | patent expiry (for year 8) |
Apr 23 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 23 2030 | 12 years fee payment window open |
Oct 23 2030 | 6 months grace period start (w surcharge) |
Apr 23 2031 | patent expiry (for year 12) |
Apr 23 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |