WO2016003406A1 - Recommend content segments based on annotations - Google Patents

Recommend content segments based on annotations Download PDF

Info

Publication number
WO2016003406A1
WO2016003406A1 PCT/US2014/044839 US2014044839W WO2016003406A1 WO 2016003406 A1 WO2016003406 A1 WO 2016003406A1 US 2014044839 W US2014044839 W US 2014044839W WO 2016003406 A1 WO2016003406 A1 WO 2016003406A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
content
segments
annotations
annotation
Prior art date
Application number
PCT/US2014/044839
Other languages
French (fr)
Inventor
Georgia Koutrika
Lei Liu
Jerry Liu
Steven J Simske
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2014/044839 priority Critical patent/WO2016003406A1/en
Priority to US15/321,105 priority patent/US20170132190A1/en
Publication of WO2016003406A1 publication Critical patent/WO2016003406A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • G06F16/345Summarisation for human users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances

Definitions

  • Readers may provide annotations to digital text, such as by including highlights, comments, links, footnotes, tags, and underlines.
  • an e-reader may allow a user to insert Information or associate information with the text.
  • the annotations may be used to emphasize portions of the text or to add information to the text, such as through comments and links.
  • Figure 1 is a block diagram illustrating one example of a computing system to recommend content segments based on annotations.
  • Figures 2A and 28 are diagrams illustrating one example of recommending content based on annotations
  • Figure 3 is a flow chart illustrating one example of a method to recommend content segments based on annotations.
  • Figure 4 is a flow chart illustrating one example of a method to divide content into segments based on annotations.
  • Figure 5 is a flow chart illustrating one example of a method to divide and merge content into segments based on annotations.
  • a processor analyzes the many annotations to determine how to recommend content in a manner that takes into account the way that the group of previous users interacted with the content and added to it. For example, a processor may determine content segments based on user data related to annotations of the content, and the processor may recommend a content segment based on the relative value of the content segment to the other content segments where the value of a conten segment is determined based on the annotations associated with the content segment. The processor may output the content segment for recommendation and/or emphasize the recommended portion within a larger content segment, such as where a page is displayed with a highlighted portion to emphasize the selected content segment. In one implementation, information about the content of the annotations in the recommended segment may be displayed.
  • Figure 1 is a block diagram illustrating one example of a computing system 100 to recommend content segments based on annotations.
  • the computing system 100 may determine content to recommend to a user based on annotations associated with the content,
  • the processor 101 may be a central processing unit (CPU), a semiconductor-based microprocessor, or any other device suitable for retrieval and execution of instructions.
  • the processor 101 may include one or more integrated circuits (ICs) or other electronic circuits that comprise a plurality of electronic components for performing the functionality described below. The functionality described below may be performed by multiple processors.
  • ICs integrated circuits
  • the storage 103 may be any suitable storage in communication with the processor 101.
  • the processor 101 may receiv information from the storage 103 directly or via a network.
  • the storage 103 may be a server to store content annotation information 104,
  • the content annotation information 104 may be received from multiple user electronic devices where users annotate the content.
  • the processor 101 or another processor may receive the information from user devices, format the information, and store it in the storage 103.
  • the content may be, for example, text, image, video, or audio,
  • the annotations may be any suitable note to the content, such as an emphasis added (ex. highlight or underline), comment, footnote, tag, or link.
  • the annotations may be any suitable length, such as a marking to a chapter, page, word, sentence, paragraph, or image,
  • the content annotation information 104 may include information about the section of the content that is annotated, such as annotation start and end position or annotation start position and length, as well as information about the annotation itself. For example, paragraph 1 may be annotated, and the annotation may be a highlight or a comment added.
  • the content annotation information 104 includes information about the user that created the annotation, such as the age, location, grade levei, or interests of the user.
  • the content annotation information 104 includes information about other users that used the annotation, such as based on explicit feedback, a user clicking a link, or a user skipping to a highlight.
  • the content annotation information 104 may include information about the creation date of the annotation.
  • the stored information may vary based on the type of annotation, such as whether if is an emphasis or a link.
  • the annotation information is stored as tags in the document and the documents themselves are stored.
  • the processor 101 may communicate with the machine-readable storage medium 102.
  • the machine-readable storage medium 02 may be any suitable machine readable medium, such as an electronic, magnetic, optical, or other physical storage device that stores executable instructions or other data (e.g., a hard disk drive, random access memory, flash memory, etc).
  • the machine-readable storage medium 102 may foe, for example, a computer readable non-transitory medium.
  • the machine- readable storage medium 102 may include content segment determination instructions 105, content segment value determination instructions 08, content segment selection instructions 107, and output instructions 108,
  • the content segment determination instructions 105 include instructions to divide content into segments based on the content annotation information 104, such as aggregated information about annotations associated with the content. For example, the way in which the content was annotated may b used to determine how to segment the content into discrete parts.
  • the content segment value determination instructions 106 include instructions to determine a value for each of the content segments. For example, the vaiue may be based on the number of annotations in the segment, the creators of the annotations in the segment, the type of annotations in the segment, the content of the annotations in the segment, the length of the annotations in the segment, the amount of the segment associated with annotations, and/or priority information associated with the annotations in the segment.
  • the content segment selection instructions 107 include instructions to rank the contents based on the relative value of the segments.
  • the content segments may be selected where the value is above a threshold and/or the content segments with the top values.
  • the output instructions 108 include instructions to recommend content based on the rankings. For example, emphasis may be added to the segment, the particular segment may be displayed to a user, or the particular segment may be transmitted to the user.
  • Figures 2A and 28 are diagrams illustrating one example of recommending content based on annotations.
  • Figure 2A is a diagram illustrating one example of annotated content.
  • Annotated content 200 shows content with 4 annotations.
  • annotations may overlap or be subsumed by one another.
  • annotations 2 and 3 are overlapping, and annotation 4 is subsumed by annotation 1 and 2.
  • Figure 2B is a flow chart illustrating one example of recommending content segments based on the annotated content 200 in Figure 2A.
  • Block 201 shows the content 200 divided into 3 segments based on the position of the annotations.
  • Block 202 shows content segment scores associated with each of the 3 segments. For example, the content segment scores of segment 1 and 2 are higher than that of segment 3,
  • Block 203 shows content segments 1 and 2 selected for recommendation.
  • Figure 3 is a flow chart illustrating one example of a method to recommend content segments based on annotations.
  • a group of users may create many overlapping unstructured annotations.
  • the annotations may be, for example, an emphasis added (ex. highlight or underline), comment, link, footnote, or tag.
  • a processor may determine how to parse the content into sections and which sections to recommend based on the annotations from previous users of the content.
  • the method may be implemented, for example, by the computing system 100.
  • a processor divides content into segments based on annotation information associated with the content
  • the processor may filter the annotation information for particular types of annotations prior to analyzing the annotation information.
  • the processor may filter based on information in addition to the annotation itself, such as the time, date, creator of the annotation, and/or authority associated with the annotation
  • a user creating an annotation may associate a permissions field with the annotation, such as whether to share publicaliy, keep private, or share with a particular group. The permissions information may be used to determine if the highlight may be used for the recommendation process.
  • the processor may divide the content into any suitable segments based on the annotation information, such as based on the position or content of the annotations. For example, the methods described in Figures 4 and 5 may be used.
  • the segments may be consecutive non-overlapping segments such thai each portion of the content is associated with a single segment.
  • the processor may divide the content info segments in any suitable manner.
  • multiple factors are considered and weighted, such as the position of annotations, the type of annotations, and the creator of the annotations.
  • information in addition to the annotations may be considered.
  • the position of the annotations may be weighted and the topic of the segment ma also be weighted, such as where the topic is determined based on an automatic text analysis method. Other factors, such as changes to the content may be considered.
  • the processor divides the content into segments and then merges some of the segments, such as to create a target number of segments.
  • the segments are merged based on a target length of the segments.
  • the segments may be merged based on the type, length, creator, or content of the annotations. For example, segments with similar types of annotations or similar comments may be merged into a single segment.
  • the processor may divide the content into segments periodically as new annotations are added by additional users. For example, the processor may perform the process again or update some segments.
  • a processor assigns a score to at least one of the segments based on the annotation information.
  • the value of a segment may be based on the number of annotations in the segment, the creators of the annotations in the segment, the type of annotations in the segment, the content of the annotations in the segment, the length of the annotations in the segment, the amount of the segment associated with annotations, and/or priority information associated with the annotations in the segment.
  • the score may be higher for a longer annotation or for a higher priority annotator.
  • an annotation is scored based on a sentiment associated with the annotation, such as whether it is considered a positive or negative annotation, if annotations within a segment are determined to be negative, the presence of many annotations in a segment may lower rather than raise the score of the segment, in one implementation, annotations determined to be negative are not taken into account when determining the value of a segment.
  • the processor may filter out the negative annotation information before scoring a segment. In some implementations, the segments may be filtered prior to assigning the score. Value information in addition to the annotation information may also be used .
  • the processor may determine the value of the segments based on characteristics of the particular user to whom the content is to be recommended. For example, the age, grade level, achievement information, or other information about the user to whom the content is recommended. In som implementations, a similarity between the user and the annotation creator and/or other users that found the annotation helpful may be taken into account
  • the processor determines a score for segment s as the following:
  • score is computed over ail annotations (u,ia) made by a user u s over a text if that intersects with segment s.
  • the score is the weighted sum of the length of the fraction of s covered by t multiplied by the priority weight wu of the annotaior u normalized by the number of annotations with priorities where w is the priority weight
  • a processor selects to recommend the segment based on the score. For example, the processor may select content with scores above a threshold or the content with the top scores. In some implementations, further information about the content is analyzed, such as by further filtering the segments based on whether they include images or audio. The processor may automatically determine an amount of content to recommend, such as based on the view or zoom levei of the user device associated with the request. For example, the same number of segments may be selected whether a user is viewing one or two pages such that the selection criteria is altered, In one implementation, the segment selected may be based on the user device associated with the user, such as where a segment including video content may not be selected for a particular user or user device.
  • a processor outputs information about the recommendation.
  • the processor may recommend the content in any suitable manner.
  • the processor may display or transmit the content.
  • the processor may transmit, display, or otherwise recommend the segment or transmit, display, or otherwise make the content available with an emphasis added to the recommended portion.
  • selected segments 2 and 3 may correspond to segments of a chapter that are then transmitted to a user.
  • the processor stores information about the recommendation to be delivered to the user by another device.
  • the processor creates an aggregated version of content based on multiple segments of recommended content, such as where multiple chapters are selected and put together into a custom book.
  • the processor may prioritize the recommendations such that they may be displayed differently. For example, segments may be highlighted in different colors or intensities based on the prioritization.
  • the recommendation may be the segments or the segments with the annotations. For example, a segment may be recommended and the accompanying comments and or specific highlights or a subset of the comments and highlights may also be shown.
  • the information about the type and content of the annotations is analyzed and prioritized such that a user may view, for example, the top three ranked comments associated with a recommended segment.
  • a user interface is presented such that a user views the selected segment and may click to view the associated comments.
  • the recommendation is hierarchical. For example, a particular chapter may be selected, paragraphs within the chapter may be selected, and sentences within the paragraphs may be selected.
  • information about the recommendations are displayed. For example, a user may view the top 5 segments and their associated annotations such that the user may select a segment to view in more detail.
  • the user can view the hierarchy and a set recommendations for each level such that the user may select between recommendations at each level.
  • multiple segments are recommended as a group.
  • the processor may determine an aggregate score for a set of segments.
  • the aggregate score may be determined based on the individual segment scores and additional information related to the relationship between the segments. For example, segments 1 , 3, and 5 may be compared to segments 2, 4, and 6.
  • Figure 4 is a flow chart illustrating one example of a method to divide content into segments based on annotations.
  • a processor may divide the content into consecutive non-overlapping segments based on information about previous annotations to the content.
  • the content may be divided into segments b a processor analyzing a list of tags and their positions associated with annotations and/or scannin the content to find the next annotation tag.
  • an annotation tag may indicate the beginning or end of an annotation.
  • the tags may be nested, such as where the annotations are overlapping.
  • the ending point of a first segment and starting point of a second segment may be identified where either a new annotation begins or a previously identified annotation ends.
  • a processor starts a segment.
  • the segment may be started at the beginning of the content.
  • the processor checks to see if the start or end of an annotation is reached, such as by scanning the next tag in an ordered list or by scanning the next position in the content.
  • the process proceeds to 402 and ends the current segment and starts a new segment. If the start or end of an annotation is not reached, the processor returns to 401 to check the next position. The processor may fhen output information about the beginning and ending points of the identified segments.
  • Figure 5 is a flow chart i!lustrating one example of a method to divide and merge content into segments based on annotations.
  • a processor divides content into segments based on annotations.
  • the method shown in Figure 4 may be used to create the segments, in some implementations, the processor filters the annotations, such as by date or user, and analyzes the remaining annotations.
  • a processor selectively merges the content segments.
  • the number of segments may be more numerous than desired. Segments may be setected for merging based on overlap of annotations, proximity of annotations, number of segments, number of segments per amount of content, and/or target segment length. Merging the segments may result in more cohesive recommendations to users, For example, it may be desirabie to recommend segments that fully explore a concept in some cases as opposed to a single word segment.
  • a processor follows a greedy approach. For exampie, the processor scans th segments and merges a first segment with the next segment if the length of the first segment is smaller than a target maximum length and the combined segment would be smaller than a target maximum iength. The merged segment may then be compared to the next segment. The process may be repeated fo each of the segments.
  • the processor performs multiple iterations. For exampie, in the first iteration, the processor determines sets of two initial segments that satisfy a length criteria, and any merged segments that do not satisfy the criteria are pruned, in the second iteration, the process is repeated with the input segments being the merged segments from the first iteration. The iterations may be repeated, and in a final iteration, the processor may select a set of merged segments that includes the minimum number of segments that cover the desired portions, such as the annotated portions.
  • the merged segments may then be ranked, and the processor recommends segments to the user based on the rankings.
  • the processor recommends segments to the user based on the rankings.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Examples disclosed herein relate to recommending content segments based on annotations. In one implementation, a processor determines content segments based on user data related to annotations of the content. The processor recommends at least one of the content segments based on the relative value of the content segment to the other content segments. For example, the value of a content segment may be determined based on the annotations associated with the content segment.

Description

RECOMMEND CONTENT SEGMENTS BASED ON ANNOTATIONS
BACKGROUND
[0001 Readers may provide annotations to digital text, such as by including highlights, comments, links, footnotes, tags, and underlines. For example, an e-reader may allow a user to insert Information or associate information with the text. The annotations may be used to emphasize portions of the text or to add information to the text, such as through comments and links.
BRIEF DESCRIPTION OF THE DRAWINGS
[0001] The drawings describe example embodiments. The following detailed description references the drawings, wherein:
[0002] Figure 1 is a block diagram illustrating one example of a computing system to recommend content segments based on annotations.
[0003] Figures 2A and 28 are diagrams illustrating one example of recommending content based on annotations,
[0004] Figure 3 is a flow chart illustrating one example of a method to recommend content segments based on annotations.
[0005] Figure 4 is a flow chart illustrating one example of a method to divide content into segments based on annotations.
[000$] Figure 5 is a flow chart illustrating one example of a method to divide and merge content into segments based on annotations.
DETAILED DESCRIPTION
[0007] Using annotations to determine helpful content for others facilitates social aspects to learning. However, as electronic annotations become easier to create, the multitude of annotations and the complexity of parsing overlapping, potentially conflicting, annotations may make the annotations difficult to us due to the overload of information. In one implementation, a processor analyzes the many annotations to determine how to recommend content in a manner that takes into account the way that the group of previous users interacted with the content and added to it. For example, a processor may determine content segments based on user data related to annotations of the content, and the processor may recommend a content segment based on the relative value of the content segment to the other content segments where the value of a conten segment is determined based on the annotations associated with the content segment. The processor may output the content segment for recommendation and/or emphasize the recommended portion within a larger content segment, such as where a page is displayed with a highlighted portion to emphasize the selected content segment. In one implementation, information about the content of the annotations in the recommended segment may be displayed.
[0008] Figure 1 is a block diagram illustrating one example of a computing system 100 to recommend content segments based on annotations. For example, the computing system 100 may determine content to recommend to a user based on annotations associated with the content,
[0009] The processor 101 may be a central processing unit (CPU), a semiconductor-based microprocessor, or any other device suitable for retrieval and execution of instructions. As an alternative or in addition to fetching, decoding, and executing instructions, the processor 101 may include one or more integrated circuits (ICs) or other electronic circuits that comprise a plurality of electronic components for performing the functionality described below. The functionality described below may be performed by multiple processors.
[0010] The storage 103 may be any suitable storage in communication with the processor 101. For example, the processor 101 may receiv information from the storage 103 directly or via a network. For example, the storage 103 may be a server to store content annotation information 104, The content annotation information 104 may be received from multiple user electronic devices where users annotate the content. The processor 101 or another processor may receive the information from user devices, format the information, and store it in the storage 103.
[0011] The content may be, for example, text, image, video, or audio, , The annotations may be any suitable note to the content, such as an emphasis added (ex. highlight or underline), comment, footnote, tag, or link. The annotations may be any suitable length, such as a marking to a chapter, page, word, sentence, paragraph, or image,
[0012] The content annotation information 104 may include information about the section of the content that is annotated, such as annotation start and end position or annotation start position and length, as well as information about the annotation itself. For example, paragraph 1 may be annotated, and the annotation may be a highlight or a comment added. In some implementations, the content annotation information 104 includes information about the user that created the annotation, such as the age, location, grade levei, or interests of the user. In some implementations, the content annotation information 104 includes information about other users that used the annotation, such as based on explicit feedback, a user clicking a link, or a user skipping to a highlight. The content annotation information 104 may include information about the creation date of the annotation. The stored information may vary based on the type of annotation, such as whether if is an emphasis or a link. In some implementations, the annotation information is stored as tags in the document and the documents themselves are stored.
[0013] The processor 101 may communicate with the machine-readable storage medium 102. The machine-readable storage medium 02 may be any suitable machine readable medium, such as an electronic, magnetic, optical, or other physical storage device that stores executable instructions or other data (e.g., a hard disk drive, random access memory, flash memory, etc). The machine-readable storage medium 102 may foe, for example, a computer readable non-transitory medium. The machine- readable storage medium 102 may include content segment determination instructions 105, content segment value determination instructions 08, content segment selection instructions 107, and output instructions 108,
[0014] The content segment determination instructions 105 include instructions to divide content into segments based on the content annotation information 104, such as aggregated information about annotations associated with the content. For example, the way in which the content was annotated may b used to determine how to segment the content into discrete parts.
[0015] The content segment value determination instructions 106 include instructions to determine a value for each of the content segments. For example, the vaiue may be based on the number of annotations in the segment, the creators of the annotations in the segment, the type of annotations in the segment, the content of the annotations in the segment, the length of the annotations in the segment, the amount of the segment associated with annotations, and/or priority information associated with the annotations in the segment.
[0016] The content segment selection instructions 107 include instructions to rank the contents based on the relative value of the segments. The content segments may be selected where the value is above a threshold and/or the content segments with the top values.
[0017] The output instructions 108 include instructions to recommend content based on the rankings. For example, emphasis may be added to the segment, the particular segment may be displayed to a user, or the particular segment may be transmitted to the user.
[0018] Figures 2A and 28 are diagrams illustrating one example of recommending content based on annotations. Figure 2A is a diagram illustrating one example of annotated content. Annotated content 200 shows content with 4 annotations. In some cases, annotations may overlap or be subsumed by one another. For example, annotations 2 and 3 are overlapping, and annotation 4 is subsumed by annotation 1 and 2. Figure 2B is a flow chart illustrating one example of recommending content segments based on the annotated content 200 in Figure 2A. Block 201 shows the content 200 divided into 3 segments based on the position of the annotations. Block 202 shows content segment scores associated with each of the 3 segments. For example, the content segment scores of segment 1 and 2 are higher than that of segment 3, Block 203 shows content segments 1 and 2 selected for recommendation.
[0019] Figure 3 is a flow chart illustrating one example of a method to recommend content segments based on annotations. For example, a group of users may create many overlapping unstructured annotations. The annotations may be, for example, an emphasis added (ex. highlight or underline), comment, link, footnote, or tag. A processor may determine how to parse the content into sections and which sections to recommend based on the annotations from previous users of the content. The method may be implemented, for example, by the computing system 100.
[0020] Beginning at 300, a processor divides content into segments based on annotation information associated with the content, in one implementation, the processor may filter the annotation information for particular types of annotations prior to analyzing the annotation information. For example, the processor may filter based on information in addition to the annotation itself, such as the time, date, creator of the annotation, and/or authority associated with the annotation, in one implementation, a user creating an annotation may associate a permissions field with the annotation, such as whether to share publicaliy, keep private, or share with a particular group. The permissions information may be used to determine if the highlight may be used for the recommendation process.
[0021] The processor may divide the content into any suitable segments based on the annotation information, such as based on the position or content of the annotations. For example, the methods described in Figures 4 and 5 may be used. The segments may be consecutive non-overlapping segments such thai each portion of the content is associated with a single segment. The processor may divide the content info segments in any suitable manner. In one implementation, multiple factors are considered and weighted, such as the position of annotations, the type of annotations, and the creator of the annotations. In some implementations, information in addition to the annotations may be considered. For example, the position of the annotations may be weighted and the topic of the segment ma also be weighted, such as where the topic is determined based on an automatic text analysis method. Other factors, such as changes to the content may be considered.
[0022] In one implementation, the processor divides the content into segments and then merges some of the segments, such as to create a target number of segments. In one implementation, the segments are merged based on a target length of the segments. The segments may be merged based on the type, length, creator, or content of the annotations. For example, segments with similar types of annotations or similar comments may be merged into a single segment. The processor may divide the content into segments periodically as new annotations are added by additional users. For example, the processor may perform the process again or update some segments.
[0023] Continuing to 301 , a processor assigns a score to at least one of the segments based on the annotation information. For example, the value of a segment may be based on the number of annotations in the segment, the creators of the annotations in the segment, the type of annotations in the segment, the content of the annotations in the segment, the length of the annotations in the segment, the amount of the segment associated with annotations, and/or priority information associated with the annotations in the segment. For example, the score may be higher for a longer annotation or for a higher priority annotator. in one implementation, an annotation is scored based on a sentiment associated with the annotation, such as whether it is considered a positive or negative annotation, if annotations within a segment are determined to be negative, the presence of many annotations in a segment may lower rather than raise the score of the segment, in one implementation, annotations determined to be negative are not taken into account when determining the value of a segment. For example, the processor may filter out the negative annotation information before scoring a segment. In some implementations, the segments may be filtered prior to assigning the score. Value information in addition to the annotation information may also be used .
[0024] The processor may determine the value of the segments based on characteristics of the particular user to whom the content is to be recommended. For example, the age, grade level, achievement information, or other information about the user to whom the content is recommended. In som implementations, a similarity between the user and the annotation creator and/or other users that found the annotation helpful may be taken into account
[0025] In one implementation, the processor determines a score for segment s as the following:
[0026] score.
Figure imgf000008_0001
[0027] where score is computed over ail annotations (u,ia) made by a user us over a text if that intersects with segment s. The score is the weighted sum of the length of the fraction of s covered by t multiplied by the priority weight wu of the annotaior u normalized by the number of annotations with priorities where w is the priority weight
[0028] Continuing to 302, a processor selects to recommend the segment based on the score. For example, the processor may select content with scores above a threshold or the content with the top scores. In some implementations, further information about the content is analyzed, such as by further filtering the segments based on whether they include images or audio. The processor may automatically determine an amount of content to recommend, such as based on the view or zoom levei of the user device associated with the request. For example, the same number of segments may be selected whether a user is viewing one or two pages such that the selection criteria is altered, In one implementation, the segment selected may be based on the user device associated with the user, such as where a segment including video content may not be selected for a particular user or user device.
[0029] Continuing to 303, a processor outputs information about the recommendation. The processor may recommend the content in any suitable manner. For example, the processor may display or transmit the content. The processor may transmit, display, or otherwise recommend the segment or transmit, display, or otherwise make the content available with an emphasis added to the recommended portion. For example, selected segments 2 and 3 may correspond to segments of a chapter that are then transmitted to a user.
[0030] In one implementation, the processor stores information about the recommendation to be delivered to the user by another device. In one implementation, the processor creates an aggregated version of content based on multiple segments of recommended content, such as where multiple chapters are selected and put together into a custom book. The processor may prioritize the recommendations such that they may be displayed differently. For example, segments may be highlighted in different colors or intensities based on the prioritization. The recommendation may be the segments or the segments with the annotations. For example, a segment may be recommended and the accompanying comments and or specific highlights or a subset of the comments and highlights may also be shown. In one implementation, the information about the type and content of the annotations is analyzed and prioritized such that a user may view, for example, the top three ranked comments associated with a recommended segment. In one implementation, a user interface is presented such that a user views the selected segment and may click to view the associated comments.
[0031] in one implementation, the recommendation is hierarchical. For example, a particular chapter may be selected, paragraphs within the chapter may be selected, and sentences within the paragraphs may be selected. In one implementation, information about the recommendations are displayed. For example, a user may view the top 5 segments and their associated annotations such that the user may select a segment to view in more detail. In one implementation, the user can view the hierarchy and a set recommendations for each level such that the user may select between recommendations at each level.
[0032] In one implementation, multiple segments are recommended as a group. For example, the processor may determine an aggregate score for a set of segments. The aggregate score may be determined based on the individual segment scores and additional information related to the relationship between the segments. For example, segments 1 , 3, and 5 may be compared to segments 2, 4, and 6.
[0033] Figure 4 is a flow chart illustrating one example of a method to divide content into segments based on annotations. For example, a processor may divide the content into consecutive non-overlapping segments based on information about previous annotations to the content. The content may be divided into segments b a processor analyzing a list of tags and their positions associated with annotations and/or scannin the content to find the next annotation tag. For example, an annotation tag may indicate the beginning or end of an annotation. The tags may be nested, such as where the annotations are overlapping. The ending point of a first segment and starting point of a second segment may be identified where either a new annotation begins or a previously identified annotation ends.
[0034] Beginning at 400, a processor starts a segment. For example, the segment may be started at the beginning of the content. Continuing to 401 , the processor checks to see if the start or end of an annotation is reached, such as by scanning the next tag in an ordered list or by scanning the next position in the content.
B If a start or end of an annotation is reached, the process proceeds to 402 and ends the current segment and starts a new segment. If the start or end of an annotation is not reached, the processor returns to 401 to check the next position. The processor may fhen output information about the beginning and ending points of the identified segments.
[0035] Figure 5 is a flow chart i!lustrating one example of a method to divide and merge content into segments based on annotations. Beginning at 500, a processor divides content into segments based on annotations. For example, the method shown in Figure 4 may be used to create the segments, in some implementations, the processor filters the annotations, such as by date or user, and analyzes the remaining annotations.
[0036] Continuing to 501 , a processor selectively merges the content segments. For example, the number of segments may be more numerous than desired. Segments may be setected for merging based on overlap of annotations, proximity of annotations, number of segments, number of segments per amount of content, and/or target segment length. Merging the segments may result in more cohesive recommendations to users, For example, it may be desirabie to recommend segments that fully explore a concept in some cases as opposed to a single word segment.
[0037] In one implementation, a processor follows a greedy approach. For exampie, the processor scans th segments and merges a first segment with the next segment if the length of the first segment is smaller than a target maximum length and the combined segment would be smaller than a target maximum iength. The merged segment may then be compared to the next segment. The process may be repeated fo each of the segments.
[0038] In one implementation, the processor performs multiple iterations. For exampie, in the first iteration, the processor determines sets of two initial segments that satisfy a length criteria, and any merged segments that do not satisfy the criteria are pruned, in the second iteration, the process is repeated with the input segments being the merged segments from the first iteration. The iterations may be repeated, and in a final iteration, the processor may select a set of merged segments that includes the minimum number of segments that cover the desired portions, such as the annotated portions.
[0039] The merged segments may then be ranked, and the processor recommends segments to the user based on the rankings. Using annotations to both divide and recommend content alSows for voluminous conflicting annotations to be consolidated in a manner that is comprehensible to a user..

Claims

CLAMS
1. A computing system, comprising:
a storage to store annotation information associated with content; and a processor to:
determine segments of the content based on an aggregation of the annotation information;
determine values associated with the content segments based on the annotation information associated with each of the segments;
select at least one of the content segments for a user based on the values; and
output information about the selection,
2. The computing system of ciaim 1 , wherein the processor determines the values based on characteristics of the particular user,
3. The computing system of claim 1 , wherein an annotation comprises at ieast one of; an emphasis, Sink, footnote, tag, and underline.
4. The computing system of claim 1 , wherein the value of a segment is based on at ieast one of: the number of annotations in the segment, a creator of an annotation in the segment, a type of annotation in the segment, the content of an annotation in the segment, the length of an annotation in the segment, the amount of the segment associated with annotations, sentiment information associated with the annotation, and priority information associated with an annotation in the segment.
5. The computing system of claim 1 , wherein the processor selects multiple segments based on an aggregated value of the segments.
6. The computing system of claim 1 , wherein the processor further selects a subset of the annotation snformatson associated with the content based on sharing permissions information associated with the subset of annotations.
7. A method, comprising:
dividing, by a processor, content into segments based on annotation information associated with the content;
assigning a score to at Seast one of the segments based on the annotation information;
selecting to recommend the segment based on the score; and outputting information about the recommendation.
8. The method of claim 7, wherein dividing content into segments comprises:
dividing content into segments based on the position of annotations within the content; and
selecting segments to merge into a single segment;
9. The method of claim 8, wherein selecting segments to merge comprises selecting segments based on at least one of: overlap of annotations, proximity of annotations, number of segments, number of segments per amount of content, and segment length.
10. The method of claim 8, wherein dividing content into segments comprises determining an ending point of a first segment and a starting point of a second segment where at ieast one of: a new annotation begins and a previously identified annotation ends.
11. The method of claim 7, wherein selecting the segment comprises selecting the segment to recommend based on the amount of content selected to view in a user device associated with the user.
12. The method of claim 7, further comprising selecting a second segment based on an aggregate score associated with the segment and the second segment.
13. A machine-readable non-transitory storage medium comprising instructions executable by a processor to:
determine content segments based on user data related to annotations of the content; and
recommend at least one of the content segments based on the relative value of the content segment to the other content segments, wherein the value of a content segment is determined based on the annotations associated with the content segment.
14. The machine-readable non-transitory storage medium of claim 13, wherein instructions to determine content segments comprise instructions to determine consecutive non-overlapping segments of the content based on unstructured
annotations.
15. The machine-readable non-transitory storage medium of claim 13, wherein the value of a content segment is determined based on at least one of: the number of annotations in the segment, a creator of an annotations in the segment, a type of annotation in the segment, the content of the an annotation in the segment, the Iength of an annotation in the segment, the amount of the segment associated with
annotations, and priority information associated with an annotation in the segment.
PCT/US2014/044839 2014-06-30 2014-06-30 Recommend content segments based on annotations WO2016003406A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/US2014/044839 WO2016003406A1 (en) 2014-06-30 2014-06-30 Recommend content segments based on annotations
US15/321,105 US20170132190A1 (en) 2014-06-30 2014-06-30 Recommend content segments based on annotations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/044839 WO2016003406A1 (en) 2014-06-30 2014-06-30 Recommend content segments based on annotations

Publications (1)

Publication Number Publication Date
WO2016003406A1 true WO2016003406A1 (en) 2016-01-07

Family

ID=55019762

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/044839 WO2016003406A1 (en) 2014-06-30 2014-06-30 Recommend content segments based on annotations

Country Status (2)

Country Link
US (1) US20170132190A1 (en)
WO (1) WO2016003406A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018163409A (en) * 2017-03-24 2018-10-18 富士ゼロックス株式会社 Information processing device, information processing system, and information processing program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193620A1 (en) * 2014-05-30 2017-07-06 Hewlett-Packard Development Company, L.P Associate a learner and learning content
US9910916B1 (en) 2014-09-16 2018-03-06 Amazon Technologies, Inc. Digital content excerpt identification
US10891320B1 (en) * 2014-09-16 2021-01-12 Amazon Technologies, Inc. Digital content excerpt identification
US10380226B1 (en) * 2014-09-16 2019-08-13 Amazon Technologies, Inc. Digital content excerpt identification
CN107077465A (en) * 2015-02-20 2017-08-18 惠普发展公司,有限责任合伙企业 Quote and explain
US11170172B1 (en) * 2015-09-28 2021-11-09 Press Ganey Associates, Inc. System and method for actionizing comments
US10114814B1 (en) * 2015-09-28 2018-10-30 NarrativeDX, Inc. System and method for actionizing patient comments
US10853740B2 (en) 2017-06-23 2020-12-01 Microsoft Technology Licensing, Llc Natural language interface to interactive, operating-system shell and techniques for creating training data for the same
US11226938B2 (en) * 2019-09-12 2022-01-18 Vijay Madisetti Method and system for real-time collaboration and event linking to documents
EP4323893A1 (en) * 2021-04-14 2024-02-21 Csats, Inc. Computer vision-based surgical workflow recognition system using natural language processing techniques

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251295A1 (en) * 2009-03-31 2010-09-30 At&T Intellectual Property I, L.P. System and Method to Create a Media Content Summary Based on Viewer Annotations
US7814078B1 (en) * 2005-06-20 2010-10-12 Hewlett-Packard Development Company, L.P. Identification of files with similar content
JP2013210880A (en) * 2012-03-30 2013-10-10 Hitachi Solutions Ltd Content recommendation program and content recommendation device
JP2014006844A (en) * 2012-06-27 2014-01-16 Sony Corp Video recording apparatus, information processing method, and recording medium
US8725795B1 (en) * 2011-06-17 2014-05-13 A9.Com, Inc. Content segment optimization techniques

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579471A (en) * 1992-11-09 1996-11-26 International Business Machines Corporation Image query system and method
US5772446A (en) * 1995-09-19 1998-06-30 Rosen; Leonard J. Interactive learning system
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US6144962A (en) * 1996-10-15 2000-11-07 Mercury Interactive Corporation Visualization of web sites and hierarchical data structures
US6173287B1 (en) * 1998-03-11 2001-01-09 Digital Equipment Corporation Technique for ranking multimedia annotations of interest
US6005482A (en) * 1998-09-17 1999-12-21 Xerox Corporation Surface mounted information collage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814078B1 (en) * 2005-06-20 2010-10-12 Hewlett-Packard Development Company, L.P. Identification of files with similar content
US20100251295A1 (en) * 2009-03-31 2010-09-30 At&T Intellectual Property I, L.P. System and Method to Create a Media Content Summary Based on Viewer Annotations
US8725795B1 (en) * 2011-06-17 2014-05-13 A9.Com, Inc. Content segment optimization techniques
JP2013210880A (en) * 2012-03-30 2013-10-10 Hitachi Solutions Ltd Content recommendation program and content recommendation device
JP2014006844A (en) * 2012-06-27 2014-01-16 Sony Corp Video recording apparatus, information processing method, and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018163409A (en) * 2017-03-24 2018-10-18 富士ゼロックス株式会社 Information processing device, information processing system, and information processing program

Also Published As

Publication number Publication date
US20170132190A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
US20170132190A1 (en) Recommend content segments based on annotations
US11222167B2 (en) Generating structured text summaries of digital documents using interactive collaboration
US11314824B2 (en) System and method for block segmenting, identifying and indexing visual elements, and searching documents
CN106796582B (en) Dynamic presentation of suggested content
US9411790B2 (en) Systems, methods, and media for generating structured documents
US10013404B2 (en) Targeted story summarization using natural language processing
US20140115439A1 (en) Methods and systems for annotating web pages and managing annotations and annotated web pages
US11048863B2 (en) Producing visualizations of elements in works of literature
US20180196808A1 (en) Document Editor with Research Citation Insertion Tool
US10540408B2 (en) System and method for constructing search results
US20110184960A1 (en) Methods and systems for content recommendation based on electronic document annotation
US9928415B2 (en) Mathematical formula learner support system
US20130219255A1 (en) Authorized Syndicated Descriptions of Linked Web Content Displayed With Links in User-Generated Content
EP2724256A1 (en) System and method for matching comment data to text data
WO2018102020A1 (en) Systems and methods for applying layout to documents
US20150254213A1 (en) System and Method for Distilling Articles and Associating Images
US9411786B2 (en) Method and apparatus for determining the relevancy of hyperlinks
JP2017021796A (en) Ranking of learning material segment
US20140289260A1 (en) Keyword Determination
US11361759B2 (en) Methods and systems for automatic generation and convergence of keywords and/or keyphrases from a media
US8881007B2 (en) Method and system for visual cues to facilitate navigation through an ordered set of documents
US10579660B2 (en) System and method for augmenting search results
WO2017056164A1 (en) Information presentation system, and information presentation method
Hartley et al. Autonomies and Dependencies: Shifting Configurations of Power in the Platformization of News
Atoum et al. Building a pilot software quality-in-use benchmark dataset

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14896823

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15321105

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14896823

Country of ref document: EP

Kind code of ref document: A1