WO2017115065A1 - A method for providing contextual intelligence - Google Patents

A method for providing contextual intelligence Download PDF

Info

Publication number
WO2017115065A1
WO2017115065A1 PCT/GB2016/053764 GB2016053764W WO2017115065A1 WO 2017115065 A1 WO2017115065 A1 WO 2017115065A1 GB 2016053764 W GB2016053764 W GB 2016053764W WO 2017115065 A1 WO2017115065 A1 WO 2017115065A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
information
category
item
users
Prior art date
Application number
PCT/GB2016/053764
Other languages
French (fr)
Inventor
Jeremy Oliver JURGENS
James Edward Marshall
Esther Maria BORTOLUSSI
Original Assignee
Contextual Intelligence Limited
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 Contextual Intelligence Limited filed Critical Contextual Intelligence Limited
Publication of WO2017115065A1 publication Critical patent/WO2017115065A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Definitions

  • the invention relates to methods, apparatus, computer programs and computer- readable media for providing data to a user.
  • Some existing methods and systems have attempted to improve selection of data for presentation to a user by basing selection upon user profile data, e.g. including user preferences, or by mapping associations between the user and other users in a social network and using such data to aid in selecting the data that is presented to the user. None of those existing methods and systems have yet been entirely satisfactory.
  • An object of the present invention is to at least address the above-identified problems.
  • the methods and systems presented herein solve the above problems by providing an improved manner of selecting items of information for provision to a user, and by allowing a particular user to benefit from effort previously expended by other users regarding a particular item of information.
  • a computer-implemented method for providing data to a user comprising:
  • one or more data stores comprising a plurality of items of information, each item of information associated with one or more information categories, and data describing one or more users including associations with one or more other users and associations with the one or more information categories;
  • determining, a relevance score for each item of the plurality of items of information with respect to a first user by determining, based on the data describing the first user, one or more of (i) a novelty score indicating a likelihood that the first user has not already encountered the item of information, (ii) an applicability score indicating a likelihood that the particular item of information will be relevant to what a user is looking for, and (iii) an authority score indicating a likelihood that the respective item of information is accurate;
  • the selecting is responsive to a request by the first user.
  • the selecting comprises ordering the selected items of information according to their respective relevance scores such that items of information with higher scores are ordered first.
  • the relevance score is based on a combination of two or more of the novelty, applicability and authority scores, and optionally wherein the combination is a multiplication operation.
  • each information category relates to a respective topic area.
  • the one or more data stores are implemented as a graph database comprising a plurality of vertices which are linked by one or more edges, wherein each of the items of information, each information category, and each user corresponds to a vertex, and wherein each of the items of information is associated with the one or more information categories by a respective first link corresponding to an edge, each of the one or more users is associated with the one or more other users by a respective second link corresponding to an edge, and each of the one or more users is associated with the one or more of the information categories by a respective third link corresponding to an edge.
  • each graph database is implemented according to one of the following schemes: by using an adjacency list wherein vertices are stored as records or objects, and for each vertex there is stored a list of adjacent vertices; by using an adjacency matrix which is a two-dimensional matrix, wherein rows represent source vertices and columns represent destination vertices; and by using an incidence matrix which is a two- dimensional Boolean matrix, wherein rows represent vertices, columns represent edges, and matrix entries indicate whether the vertex of a particular row is incident to an edge of a particular column.
  • the data describing the one or more users further includes a record of past interactions of the one or more users with the one or more items of information, and wherein each past interaction associates the one or more users with the one or more of the items of information by a respective fourth link corresponding to an edge.
  • determining a relevance score comprises determining a distance of the respective item of information from the first user, wherein the distance is based on a number of edges in a path between the respective item of information and the first user.
  • the path between the respective item of information and the first user is a shortest path between the respective item of information and the first user.
  • determining a relevance score further comprises determining a strength of each link, which links correspond to edges.
  • the strength of the second links between first and second users is determined based on an attribute corresponding to whether the first user is following the second user, and/or vice-versa, wherein: mutual following indicates a highest strength; unilateral following indicates a medium strength; and no following indicates a weakest strength.
  • mutual following indicates a highest strength
  • unilateral following indicates a medium strength
  • no following indicates a weakest strength.
  • a longer time elapsed since the following attribute was established indicates a lowered strength.
  • the strength of the third links between the one or more users and one of the one or more information categories is based on a type of the association between the one or more users and that information category, wherein the type corresponds to one of: a lowest strength wherein the user is not interested in the information category; a medium-low strength wherein the user is interested in the information category; a medium-high strength wherein the user is an expert in the information category; and a highest strength wherein the user is a thought-leader in the information category.
  • the strength of the fourth links between the one or more users and the one or more of the items of information corresponds to one of the following ordered range from: a lowest strength wherein the user has not interacted with the item of information; a next successive strength wherein the user has been shown the item of information; a next successive strength wherein the user has read the item of
  • the novelty score is inversely based on a strength of association between: the first user and the respective item of information.
  • the novelty score is inversely based on an amount of prior interaction of the first user with the particular item of information.
  • novelty score is based on, for a path comprising one or more edges between the first user and the respective item of information, a number of edges in the path and the strength of each link, which links correspond to edges.
  • the novelty score is related to a sum of the inverse of the respective strengths corresponding to each link in the path.
  • the path is a shortest path between the first user and the respective item of information.
  • the shortest path comprises one of the fourth links comprising a single edge between the first user and the respective item of information.
  • the applicability score is based on co-association of the first user and the particular item of information with a common information category.
  • the applicability score is further based on a strength of association between the first user and an information category with which the particular item of information is associated, and/or based on a strength of association between the particular item of information and the information category.
  • the strength of association between the first user and the information category with which the particular item of information is associated is based on an amount of prior interaction of the first user with one or more items of information which are associated with that information category.
  • the applicability score is based on, for a path comprising an information category associated with both the first user and the respective item of information, a number of edges in the path and the strength of each link, which links correspond to edges.
  • the applicability score is inversely related to the length of the path between the item of information and the first user and comprising the information category, wherein the effective length of each link in the path is diminished by its respective strength.
  • the path comprising the information category is a shortest path between the first user and the respective item of information.
  • the relevance score is based on a combination of a plurality of applicability scores, each relating to a different information category of a set of information categories which are associated with the first user.
  • the authority score is based on an authority rating of a second user via whom the respective item of information is linked to the first user, wherein the authority score relates to a likelihood of items of information coming to the first user via the second user being accurate.
  • the authority score is based on one or more of: a personal authority score for the second person with respect to the first user; and a community authority score for the second person with respect to the first user.
  • the personal authority score is based on, for a path comprising one or more edges between the first user and the second user, a number of edges in the path and the strength of each link corresponding to an edge.
  • the path between the first user and the second user is a shortest path between the first user and the second user.
  • the personal authority score is inversely related to the length of the path between the first user and the second user, wherein the effective length of each link in the path is diminished by its respective strength.
  • the community authority score is based on: a number of other users who are associated with (i) the second user and (ii) with a same information category with which the respective item of information is associated; compared with a highest number of other users who are associated with any other user associated with that information category.
  • the community authority score is further based on the strength of each association between each respective other user and the second user.
  • the authority score is further based on a strength of association between the second user and an information category with which the particular item of information is associated.
  • the authority score is further based on an amount of prior interaction of the second user with the particular item of information.
  • the method further comprises: receiving from a particular user a selection of an information category; and updating the data describing the one or more users so as to associate the particular user with the selected information category.
  • the method further comprises: receiving from a particular user a selection of another user who the particular user wishes to be associated with; and updating the data describing the one or more users so as to associate the particular user with the other user.
  • the method further comprises: receiving an indication of an interaction of one of the one or more users with one or more of the items of information; and updating the data describing the one or more users with a record of the interaction so as to associate the one or more users with the one or more items of information.
  • the method further comprises: in response to a request by the first user, retrieving data relevant to the request from one or more data stores.
  • a computer-implemented method for providing data to a user comprising:
  • a data store comprising one or more items of information and one or more attributes, each attribute associated with a respective user of one or more users; providing at least one of the items of information to a device of a user of the one or more of users;
  • the first category represents the respective user's opinion of the provided item of information.
  • the second category is determined based on one or more pairs of (i) the attribute associated with a respective user of the one or more users from which the selection of a first category was received, and (ii) the first category received from that user.
  • the providing further comprises providing a finite set of category options to the device of the user for display to the one or more of the users and for selection therefrom, and wherein the second category is determined based on a category that was selected by a majority of users out of a set of users comprising those users from which the selections of a first category were received.
  • the set of users is a subset of those users from which the selections of a first category were received, the subset consisting of users which are associated with a similar attribute.
  • the similar attribute is also similar to the attribute associated with the user of the computing device.
  • the similar attribute is selected by the user of the computing device.
  • the sending is responsive to a request received from the user of the computing device.
  • the method further comprises: responsive to the request, sending via the computing device for display to the user of the computing device, an indication of that attribute which is the same for the subset of users.
  • the method further comprises, responsive to the request, returning via the computing device for display to the user of the computing device, an indication of the number of users who have selected a first category.
  • the method further comprises, responsive to the user of the computing device interacting with the returned second category on the computing device: providing the finite set of category options to the computing device for display to the user of the computing device; accepting from the user of the computing device a selection of a third category for the selected item of information; and updating the second category of the selected item of information, according to the step of determining a second category, by including the third category in the first category selections for the selected item of information.
  • the finite set of categories comprises a plurality of category options arranged in order and ranging from a positive category option to a negative category option.
  • each of the finite set of categories is displayed with a corresponding icon conveying the meaning of the respective category.
  • the attribute associated with each respective user relates to one or more of the following: their level within an organisation, the geographical location, and their industry sector.
  • the selected one of the items of information is selected according to the method of the first aspect.
  • a computing device arranged to carry out the method according to either or both of the first and second aspects.
  • a computer program comprising program instructions that, when executed on one or more computers cause the one or more computers to perform the method according to either or both of the first and second aspects.
  • a computer-readable medium which may be a non-transitory computer-readable medium, storing instructions which, when executed by one or more processors, cause the one or more processors to carry out the method according to either or both of the first and second aspects.
  • a seventh aspect there is provided an apparatus substantially as described and shown in any of the accompanying drawings.
  • the methods described above may be implemented as a computer program comprising program instructions to operate a computer.
  • the computer program may be stored on a computer-readable medium.
  • the device or devices of any or all users may be a mobile device, a computer, a smartphone, a tablet computer or any other computing device, for example.
  • the computer system may include a processor such as a central processing unit
  • the processor may execute logic in the form of a software program.
  • the computer system may include a memory including volatile and non-volatile storage medium.
  • a computer-readable medium may be included to store the logic or program instructions.
  • the different parts of the system may be connected using a network (e.g. wireless networks and wired networks).
  • the computer system may include one or more interfaces.
  • the computer system may contain a suitable operating system such as UNIX, Windows (RTM) or Linux, for example.
  • Figure 1 is an example data schema showing relationships between a plurality of users
  • Figure 2 is an example data schema showing relationships between a plurality of information categories
  • Figure 3 shows an example data schema illustrating the relationships between different data elements
  • Figure 4 is an example data schema showing relationships between a user, a plurality of items of information, and a plurality of information categories;
  • Figure 5 is an example data schema showing relationships between a plurality of users, a plurality of information categories, and a plurality of items of information;
  • Figure 6 is a data flow diagram illustrating factors on which the determination of a relevance score for a particular item of information with respect to a particular user is based in an embodiment
  • Figure 7 is a flow diagram illustrating the steps of a method according to an embodiment
  • Figure 8 is an example data schema showing relationships between a plurality of users, associated attributes, and user-selected categories for a plurality of items of information
  • Figure 9 is a flow diagram illustrating the steps of a further method according to an embodiment
  • Figure 10 is an example illustration of display arrangements for a mobile device implementing the method shown with respect to Figure 9;
  • Figure 1 1 shows a schematic diagram of an example system for implementing any of the described methods.
  • Figure 12 shows a schematic diagram of features of an example computing device which could be used for the devices shown in Figure 11.
  • a user When conducting a search or browsing for data (e.g. an "information item") relating to a particular subject, a user may encounter items of information that are in a particular information category, but the user may be unaware of other items of information that are likely to also be interesting, by virtue of, for example, those other items of information which are in similar or related information categories. It would be beneficial if other items of information that are likely to be interesting to the user could be determined, in order that they could be automatically presented to the user. Such a determination can be made as described herein.
  • the embodiments described herein provide a computer-implemented method of determining a score, value or weighting for a particular item of information, which score indicates a likelihood that the particular item of information will be what a particular user is interested in or is searching for.
  • the score is based on stored data including (but not limited to) one or more of: associations between the particular user and one or more information categories with which the item of information is associated;
  • associations between the particular user and other users e.g. other users with which the item of information is associated
  • the likelihood that the item of information will be interesting to the user is increased.
  • the item of information is associated with another user with which the particular user has an association (e.g. previous contact, knowledge or interaction) then the likelihood that the item of information will be interesting to the particular user may be increased.
  • the particular user has previously interacted with the particular item of information, that may indicate that the user previously found the item of information interesting, however on the other hand it may also indicate that the particular user has already studied the item of information and thus the item of information may no longer be interesting, but on the other hand this may indicate that another item of information that is associated with (e.g. by being in the same information category) the interacted-with item of information would be relatively likely to be interesting. Any of these factors, a combination of two or more of these factors, or any other factors described herein can also be involved in
  • the determined score can be used to rate items of information, which rated items can be preferentially sent to the particular user according to their rating (e.g. highest rated items can be sent first, or lower rated items can be withheld), thereby increasing the likelihood that the user will find the items of information that are sent to them interesting. Furthermore, by sending more highly rated items first, or withholding lower- rated items, the likelihood that the user will reach an early conclusion of a search for whatever information they are looking for is increased, and thus network bandwidth is used more efficiently and user-effort is reduced.
  • Figure 1 shows in schematic form a graph 100 comprising a number of nodes (alternatively termed vertices) 1 10, each node 1 10 associated with a respective user Ui to U 7 , and linked to (i.e. associated with) one or more other nodes by a respective edge (otherwise termed a link) 120.
  • Each node 1 10 and each edge 120 can be stored in a data store, such as data store 1120 shown and described herein with respect to Figure 1 1.
  • user Ui is associated with (i.e. linked to) users U 2 and U 4 by respective links 120.
  • a bidirectional link may be recorded between two users if the two users are "friends", or alternatively a unidirectional link may be recorded if one user "follows" the other user but the other user does not reciprocate.
  • a path begins at a first node and ends at a second node, and comprises one or more edges linking the first node to the second node, in some cases via intermediary nodes.
  • a path beginning at the node 1 10 corresponding to user Ui and ending at the node 1 10 corresponding to user U 7 comprises two edges 120 and an intermediary node 1 10 corresponding to user U 2 . Since user Ui and user U 7 are linked by that path, but there is no single edge 120 linking U1 and U7 without any intermediary nodes 110, user Ui and user U 7 are said to be indirectly linked (i.e. there is an indirect path linking Ui and U 7 ).
  • the length of a particular path between two nodes 110 can be said to be equal to the total number of edges 120 in the path between those two nodes 1 10.
  • Similar principles of graph networks apply to other types of nodes (i.e. nodes which correspond to other types of entities), not only to nodes 1 10 corresponding to users.
  • other types of entities can include items of information, information categories, conference attendance records, etc.
  • graphs can comprise a mixture of nodes corresponding to different ones of those or other types of entities.
  • Such a graph (or "graph network”) 100 can be implemented using a graph database, for example using data store 1120.
  • Graph databases can be implemented in a number of ways, including one of the following schemes: by using an adjacency list wherein nodes/vertices are stored as records or objects, and for each vertex there is stored a list of adjacent vertices; by using an adjacency matrix which is a two- dimensional matrix, wherein rows represent source vertices and columns represent destination vertices; and by using an incidence matrix which is a two-dimensional Boolean matrix, wherein rows represent vertices, columns represent edges, and matrix entries indicate whether the vertex of a particular row is incident to an edge of a particular column.
  • information categories e.g. categories within which items of information are grouped, such as a category of "Employment and skills" and a category of "Education", wherein each item of information might be a textual, visual or audio presentation, such as a news story on a particular subject within the respective category
  • topic areas Another term for information categories is topic areas.
  • the information categories 210, 220 shown in Figure 2 comprise primary categories (otherwise termed “insight areas”) and secondary categories (otherwise termed "key issues”), whereby “insight areas” have zero or more "key issues”. A “key issue” therefore always has a parent "insight area”.
  • association (relationships) between information categories 210, 220 are represented by edges 230. Furthermore, such associations can be directed (one-way) or bi-directional, as shown by arrowed and non-arrowed edges 230 respectively.
  • Such a graph can be considered to be the "backbone” of a "knowledge graph” - e.g. such a graph comprises a number of information categories into which items of information can be appropriately added and grouped (by associating each item of information with a respective one of the information categories).
  • Figure 3 provides an example of a graph 300 comprising various data elements
  • each information item 320 is associated with at least one information category 330.
  • the user 310 is associated with (i.e. the user "follows") a number of information categories 330, and the user 310 is also recorded as having interacted with a number of the items of information 320 (e.g.
  • the user may have read or posted one or more of the items of information 320).
  • the user 310 may also have attended one or more conference events, resulting in an association between the user 310 and one or more conference attendance records 340, or similarly the user 310 may have viewed or listened to a number of video, audio or multimedia entities, resulting in an association being made between the user 310 and a corresponding record of that interaction.
  • Such interactions are recorded and, as will be discussed below, can be used to determine the relevance of items of information 320 to the user 310.
  • the graph 300 shown in Figure 3 can be considered to be a "knowledge graph" from the point of view of a particular user 310.
  • each node 310, 320, 330, 340 may link to, or be associated with one or more other nodes 310, 320, 330, 340, and complex
  • FIG. 3 is a visual representation of a small part of an example data set of various interrelated nodes. It can be seen that it is difficult to visually interpret and determine the various relationships between data elements using such a visual representation, due to the larger number of links/associations. This problem can be particularly acute when using a device having a small screen such as a mobile device or smartphone, for example.
  • nodes 420 and 421 correspond to information categories (nodes 420 correspond to primary categories by the name of "insight areas", and nodes 421 correspond to secondary categories by the name of "key issues”)
  • nodes 430 correspond to items of information
  • node 431 corresponds to an attendance record of a conference (which can be considered to be a particular type of information item 430)
  • nodes 401 and 402 correspond to users.
  • each information item 430 is associated with at least one information category 420, 421 by first link 41 1 (in the shown example, items of information 430 are directly associated/linked with at least one insight area 420, and in turn key issues 421 are associated with insight areas 420 by fifth links 415, however in other embodiments items of information 430 can be directly associated with key issues 421 , and/or there may be only a single hierarchical level of information category or there may be more than two hierarchical levels of information category).
  • user 401 is associated with a number of the information categories ("insight areas" 420) by third link 413 (for example, by virtue of the user having indicated a preference which is stored in a corresponding user profile in a data store such as data store 1120), and the user 401 is also associated with a number of items of information 430 by fourth links 414 (by virtue of having previously interacted with those items of information).
  • Such interactions can be stored in a data store such as data store 1120.
  • second user 402 is similarly linked to conference attendance record 431 by a fourth link 414, and can be linked to information categories 420, items of information 430, and to other users such as user 401 by a second link (not illustrated).
  • the graph 400 of entities can comprise numerous different types of entities, linked together in many ways, and thus a user 431 can be directly or indirectly associated with/linked to a particular item of information 430 by many different paths of different lengths, each path comprising numerous vertices/nodes corresponding to different types of entity and comprising numerous first to fifth links 411 , 412, 413, 414, 415 described above.
  • Figure 5 illustrates a generalised and simplified embodiment, comprising a graph 500 in which social and knowledge graphs are combined, and comprising: first and second information categories (ICi , IC 2 ) 530, 540; first to third users (Ui , U 2 , U 3 ) 550, 560, 570; and first and second items of information ( , l 2 ) 510, 520.
  • Graph 500 can be termed an "insight graph", and shows connections between users and information that they may find particularly interesting, given their prior knowledge, interests and relationships. Such information can be transferred from one user to another according to the links of such a graph by various means, including "sharing”, direct messaging, via an information "feed”, and/or by the use of hashtags.
  • the first user 550 is associated with the second user 560, and the second user is associated with the third user 570, by virtue of second links 582.
  • the first user is associated with the first information category 530, and both second and third users 560, 570 are associated with the second information category, by virtue of third links 583.
  • the first item of information 510 is associated with the first information category 530
  • the second item of information 520 is associated with both the first and second information categories 530, 540, by virtue of first links 581.
  • first and second information categories are associated with each other by virtue of fifth link 585.
  • first user 550 is associated with the first item of information 510 by virtue of fourth link 584 corresponding to a past interaction between the first user 550 and the first item of information 510.
  • third user 570 is associated with the second item of information 520 by virtue of fourth link 584 corresponding to a past interaction between the third user 570 and the second item of information 520.
  • Figure 6 shows, in schematic form, data (e.g. metadata) which is used to determine a relevance score 680, on the basis of which one or more items of information can be rated and/or ordered and/or otherwise selected, and the selected items provided to a particular user. For example, each item of information can be ordered according to its relevance score (e.g. highest score first), and those items of information with scores meeting a threshold can be provided to the user, and/or those items of information with the highest scores can be provided to the user before (or instead of) those items of information with lower scores.
  • data e.g. metadata
  • the selecting and/or providing of items to a user can be in response to a request by the user, such as an explicit or implicit search request, or a request for data as part of the user browsing for information.
  • the relevance score 680 is based on one or more of (but not limited to) the following factors: a novelty score 671 ; an applicability score 672; and an authority score 673.
  • the relevance score 680 is determined by multiplying two or more of the novelty score 671 , the applicability score 672, and the authority score 673 together. For example, the relevance score 680 is calculated as follows:
  • the novelty score 671 is an indication of a likelihood that the particular user has not already encountered a particular item of information, for example the likelihood that the particular item of information is new to the particular user.
  • the applicability score 672 is an indication of a likelihood that the particular item of information will be relevant to what a user is looking for.
  • the authority score is an indication of a likelihood that the particular item of information is accurate, based on the trustworthiness of its source.
  • the novelty score is based on a distance (i.e. a number of edges) between the particular user (as represented by a node 550 in a graph 500) and a particular item of information (as represented by another node 510 in the graph 500) along a path beginning and ending at those respective nodes.
  • the path is a shortest path between those nodes 510, 550, as can be found by existing algorithms such as Dijkstra's algorithm (Dijkstra, E.W. 1959 "A note on two problems in connection with graphs”) for finding the shortest path between two nodes in a graph network.
  • more than one path can be considered, and the individual scores for each path can be combined, e.g.
  • FIG. 5 there are multiple paths between user Ui 550 and item of information 510, including the path defined by edge 584, and the path defined by edges 583 and 581.
  • the shortest path in this example is the path defined by edge 584.
  • a higher distance between user 550 and item of information 510 indicates a higher novelty score and vice versa.
  • the novelty score is thus based on a distance between the user 550 and the item of information 510 in the graph 500.
  • the novelty score is also based on a strength of the association between the particular user and the particular item of information.
  • this strength of association is based on a level of interaction between the user and the item of information: in the case where the shortest path between the user 550 and item of information 510 is a direct link corresponding to an edge 584 representing an interaction between the user and the item of information, the distance is 1 , and the strength of the link (the strength of the association between the user and the item of information in this case) can be either set to a nominal value (e.g. 1) or can be determined to correspond to a degree of interaction between the user and the item of information.
  • degrees of interaction can range from: a lowest strength wherein the user has not interacted with the item of information; a next successive strength wherein the user has been shown the item of information; a next successive strength wherein the user has read the item of
  • the novelty score a lower degree of interaction indicates a higher novelty score and vice versa, and a higher distance indicates a higher novelty score and vice versa.
  • the novelty score is thus also inversely based on a strength of association between the user and the item of information. Combining the distance and strength values, in this case the novelty score can be determined as:
  • Novelty(UJ) Distance(U, I) x Strength "1 (U,l) where U is a particular user, and I is a particular item of information.
  • the novelty score is based on the distance (which is the number of edges in the path - 2 in this example) and on the strength of each edge 581 , 583, wherein each edge
  • the novelty score, Novelty(U,l) equals the sum of Distance x Strength "1 for each edge 581 , 583 in the path between user U and item of information I. In another embodiment, the novelty score Novelty(U,l) equals the product of Distance x Strength "1 for each edge 581 , 583 in the path between user U and item of information I.
  • the strength of such associations can be set to be a nominal value (e.g. 1), or alternatively the strength of such associations can be determined as follows.
  • the strength can be determined based on an attribute corresponding to whether the first user is following the second user, and/or vice-versa, wherein: mutual following indicates a highest strength; unilateral following indicates a medium strength; and no following indicates a weakest strength.
  • attributes can be stored for each user in a data store such as data store 1 120.
  • Embodiments where only a single "friends" attribute is stored can be considered to correspond to the cases of "no following” if two users are not friends, or "mutual following” when two users are friends. Other similar schemes for determining the strength of a relationship between two users will be apparent and can be used.
  • the time elapsed since a "following" or “friends" attribute was stored can be used as an indication of the strength of an association between two users - for example, if a long time has elapsed since such an attribute was stored then it could be inferred that the strength of association is stronger than if a short time has elapsed, since users who have been associated for a long time are more likely to know each other well and perhaps share some common interests.
  • the strength can be determined based on a type of the association between the one or more users and that information category, wherein the type corresponds to one of: a lowest strength wherein the user is not interested in the information category; a medium-low strength wherein the user is interested in the information category; a medium-high strength wherein the user is an expert in the information category; and a highest strength wherein the user is a thought-leader in the information category.
  • the number and types of associations in the above list is not exhaustive or limiting, and it will be appreciated that other types of associations between a user and an information category can be used and can indicate appropriate strengths of association.
  • these types of associations can be self-declared by the particular user, or can be determined by other algorithms outside the scope of this specification, and/or a mixture of the two.
  • the types of associations between a particular and various information categories can be stored in a data store such as data store 1120, for example in a profile associated with the user.
  • the applicability score 672 is based on an association between the particular user and an information category that the particular item of information is also associated with (i.e. co-association of the user and the item of information with a common information category).
  • an information category e.g. the user has indicated a preference for information in the category of "mining and metals", which preference can be stored in an associated user profile which can be stored in a data store such as data store 1 120
  • distance and strength values can be determined for a path between the particular user and a particular item of information.
  • the path may be based on the user's interests and expertise and therefore the path is preferably a path (preferably a shortest path, but as indicated for "novelty", in other embodiments, values for a number of paths can be combined) between the user and the item of information, which path comprises a node corresponding to one of information categories that the user is associated with. More than one path may fit this criterion, for example if the user is associated with more than one information categories and the item of information is associated with more than one of those categories.
  • the path between user Ui 550 via link 583 to information category ICi 530, and via link 581 to item of information 510 is such a path.
  • the overall distance is 2, while each link 581 , 583 has a distance of 1.
  • the strength of the link 583 between the user 550 and the information category 530 can be determined as described above, and optionally can be modified (or further based on) an amount of prior interaction between the user and one or more items of information that are associated with that information category (for example, a user may initially indicate their interest in an information category, and then by virtue of interacting with items of information in that category the user may elevate themselves to an expert in that information category).
  • the strength of the link 581 between information category 530 and item of information 510 can be assigned a nominal value such as 1 , or alternatively can be determined based on a rating of how strongly the item of information relates to the information category. Such ratings can be predetermined or can be received from users as described further below.
  • An applicability score for the particular item of information with respect to the particular user can be determined by considering distance and one or more of the strength values of the links in the path, e.g. combining the strength values for each link in the path (such as by multiplying them) to obtain an overall strength value for the path. For that path (which path corresponds to one of the information categories that the user is associated with), applicability can be calculated from the distance and overall strength as follows:
  • Applicability(U.I) (Distance(IC(u), I) x Strength (IC(u),l) "1 ) "1 where U is a particular user that is associated with information category IC, and I is a particular item of information.
  • applicability of an item of information to a particular user is inversely related to the length of the path between the item of information and the user, wherein the effective length of each link in the path is diminished by its respective strength.
  • an applicability score for each of a plurality of paths between the particular user and the particular item of information, each path comprising a different information category of a set of information categories that are associated with the user can be calculated and summed to give an overall applicability score 672.
  • Either of an applicability score for a single path, or an overall applicability score for a plurality of paths, can be used in the subsequent calculation of a relevance score.
  • Either of an applicability score for a single path, or an overall applicability score for a plurality of paths, can be used in the subsequent calculation of a relevance score.
  • By including more information categories in the applicability score a more accurate reflection of how the item of information is associated with the user is reached.
  • the authority score 673 is based on one or more factors relating to a second user via whom the first user is indirectly linked to the particular item of information. For example, referring to Figure 5, user U 2 560 is indirectly linked to item of information 510 via user Ui 550 who interacted with the item of information and is thus associated with the item of information via edge 584. The extent to which user U 2 560 trusts information brought to them via user Ui 550 is likely to be based on the extent to which user U 2 560 is familiar with and impressed by user Ui 550. Likewise, (although not shown in Figure 5 for the sake of simplicity) other users who are associated with user Ui
  • a first factor on which the authority score is based is an authority rating of the second user with respect to the first user, the rating termed "personal authority", which is based on a strength of association between the first user and the second user. For example, if the first user "follows” the second user but the second user does not reciprocate then a moderate strength of association between first and second users can be inferred, and thus a moderate level of personal authority.
  • first user Ui 550 and third user U 3 570 are indirectly linked via second user U 2 560 (or where first user Ui 550 and third user U 3 570 are indirectly linked by information category ICi 530 which is linked to information category IC 2 which is linked to third user U 3 570)
  • personal authority can be calculated in a similar way as applicability is calculated above, based on a distance equal to a number of edges in a path between the two users, and optionally based on a strength of the link corresponding to each of those edges.
  • the path which is considered when calculating personal authority is a shortest path between the two users, although in other embodiments, as noted for "novelty", a number of paths can be considered, and respective values combined.
  • a second factor on which the authority score 673 is based is termed "community authority", and is based how popular (which implies a level of trust) the second user is within a particular community, in terms of how many followers that second user has compared with a maximum number of followers of any user in that community (e.g. a maximum number of followers F max can be the total number of members in the community or it can be the highest number of followers that any member of that community actually has). If F(u) is a function returning the number of followers that a particular user u has in a particular community, then:
  • the community can be defined as the set of users who are associated with a particular information category, which in order for the community authority value to be relevant to the particular item of information for which relevance is being determined, should be an information category with which the particular item of information is associated, IC(i).
  • the community authority value can be further based on a strength of association between each member of the community and the second user.
  • the community authority value can be further based on a strength of association between the second user and the information category IC(i) with which the particular item of information is associated, and optionally on an amount of prior interaction between the second user and items of information associated with that information category, such as the particular item of information, e.g.
  • a higher level of trust in a user by other users implies a higher level of knowledge and/or ability in that community, and thus a higher likelihood of information items coming via that user being accurate (and vice-versa).
  • Other examples of communities are: people-based communities such as relating to particular public figures; organisation-based communities such as relating to a particular organisation e.g. a particular global growth company; topic-based communities such as relating to a particular topic e.g. the Global Agenda Council on Europe; location-based communities such as those specifically relating to a particular location e.g. London; industry-based communities such as relating to a particular industry sector e.g. automotive; and time- based communities relating to a particular time period e.g. "Young Global Leaders class of 2015".
  • the (overall) authority score 673 for a particular item of information I, a particular first user Ui (here, the same user as the user involved in the novelty and applicability values above) and a particular second user U 2 via who the item of information is linked to the first user Ui , is thus calculated as a combination of the personal authority value for user U 2 in the eyes of user Ui , and the community authority value for user U 2 in a particular community (such as for example an information category IC(i) that is associated with the particular item of information).
  • IC(i) an information category
  • Authority(Ui ,U 2 ,l) Personal Authority(Ui ,U 2 ) x Community Authority (U 2 ,IC(i))
  • a relevance score 680 for a particular item of information with respect to a particular user can be calculated using one of or a combination of two or more of the aforementioned novelty score 671 , applicability score 672, and authority score 673.
  • the relevance score 680 once determined, can be used to rate each of a number of items of information, which items can be selected from in order of highest rated first to provide to the particular user. Thereby the items of information that are most likely to be what the user is looking for can be provided to the user first, and those items of information that are determined to be less likely to be what the user is looking for can be withheld from the user or at least provided at a later time, or lower down in an ordered list of items.
  • a user is assisted with finding items of information that they are looking for and may be able to make an early conclusion to their search or browsing operation for such items of information.
  • network bandwidth, computing power and user effort can be reduced.
  • the methods herein enable users to focus their time and effort on reading and contributing to information which is most interesting and insightful to them, while filtering out less useful information, thereby assisting with the efficient flow of knowledge (otherwise termed "insights") from one user to another.
  • a method 700 which may be implemented using a computer, of providing data to a user will now be described according to an embodiment.
  • one or more data stores are accessed, wherein the one or more data stores comprise a plurality of items of information 510, 520, and each item of information is associated with one or more information categories 530, 540.
  • the one or more data stores further comprise data describing one or more users 550, 560, 570 including associations with one or more other users 550, 560, 570 and associations with the one or more information categories 530, 540.
  • a relevance score is determined for each item of the plurality of items of information 510, 520, with respect to a first user 550.
  • Determining the relevance score involves or is performed by determining, based on the data describing the first user 550, one or more of (i) a novelty score indicating a likelihood that the first user has not already encountered the item of information, (ii) an applicability score indicating a likelihood that the particular item of information will be relevant to what a user is looking for, and (iii) an authority score indicating a likelihood that the respective item of information is accurate.
  • a novelty score indicating a likelihood that the first user has not already encountered the item of information
  • an applicability score indicating a likelihood that the particular item of information will be relevant to what a user is looking for
  • an authority score indicating a likelihood that the respective item of information is accurate.
  • one or more of the items of information 510, 520 are selected based on their respective determined relevance scores.
  • the selecting is responsive to a request by the first user.
  • the selected one or more items of information are sent to a device (such as device 1 130 in Figure 1 1 ) of the first user 550.
  • the selected one or more items of information are provided to the first user 550, for example on a display or via an audio device or by other means of providing items of information to a user.
  • the method further comprises a step of receiving from a particular user 550 a selection of an information category 530, and updating the data describing the one or more users so as to associate the particular user 550 with the selected information category 530.
  • the method further comprises a step of receiving from a particular user 550 a selection of another user 560 who the particular user 550 wishes to be associated with, and updating the data describing the one or more users so as to associate the particular user 550 with the other user 560.
  • the method further comprises receiving an indication of an interaction of one of the one or more users 550, 560, 570 with one or more of the items of information 510, 520, and updating the data describing the one or more users with a record of the interaction so as to associate the one or more users 550, 560, 570 with the one or more items of information.
  • the method further comprises: in response to a request or action by the first user, retrieving data relevant to the request or relevant to any of steps 710 to 750 from one or more data stores such as data store 1 120 of Figure 1 1 .
  • a data store can comprise at least one database, preferably a graph database.
  • a plurality of users 81 1 , 812, 813 are each associated by link 830 with a respective attribute 821 , 822, 823, as stored in a data store such as data store 1 120 in Figure 1 1.
  • Each of a plurality of items of information 841 , 842 can be provided to the users 811 , 812, 813 via a user device.
  • Each user 81 1 , 812, 813 can select a user-selected category 861 , 862, 863, 864 for each item of information, for example user 81 1 (if provided with information items 841 and/or 842) can select a user-selected category 861 for item of information 841 , and a user-selected category 862 for item of information 842.
  • a device of a user not shown, can receive the user's selection of a user-selected category 861 , 862, 863, 864, and the user-selected categories 861-864 can be associated by links 850 with the respective items of information 841 , 842. This can be achieved by storing appropriate data in a data store.
  • each user-selected category 861-864 and at least an attribute of the user 81 1-813 who selected that category (for example, the attribute of the user can be a level or position of the user within a company or organisation - such as CEO, manager, designer, IT professional, their geographical location - such as UK, USA, Europe, Switzerland, and/or their industry sector - such as finance, electronics manufacturing, automatic, retail).
  • the association between each user-selected category and the user attribute can be indirect by virtue of associating 840 the user-selected category 861 with the user 81 1 who selected it, but alternatively a separate record can be stored. Any suitable method of associating the above user attribute with the user-selected categories can be used.
  • a method 900 of providing data to a user comprises the following steps.
  • a data store 1120 comprising one or more items of information 841 , 842 and one or more attributes 821-823 is accessed, each attribute 821-823 associated with a respective user of one or more users 811-813.
  • At step 920 at least one of the items of information 841 , 842 is provided to a device (such as device 1 130 of Figure 11 ) of a user of the one or more users 81 1-813.
  • a device such as device 1 130 of Figure 11
  • a plurality of category options 1052 are provided to the device of the user for display to the user. The user is thus able to make a selection of a first category which they believe applies to each provided item of information, by interacting with (e.g. touching) the respective category option.
  • Step 930 is a step of receiving, from the user to which the one or more items of information were provided, via the user device, a selection of a first category for the provided one or more items of information.
  • a first category is a user-selected category and represents the user's opinion of (or reaction to) the one or more items of information.
  • the user-selected category for each of the provided items of information is stored, e.g. in data store 1120, and optionally the display of the user device is updated according to the selected category option.
  • a second category 1040 of the provided item of information is determined, based on a combination of the first category selections received from a plurality of users for the provided item of information, and based on the attributes associated with those users from which the first category selections were received. Further detail on how the second category is determined is given below.
  • the identification can comprise the item of information itself, or a reference or link to the item of information, or a summary of the item of information or a related headline.
  • the determined second category 1040 for the selected one of the items of information is sent to the computing device. Both the identification and the second category are sent to the computing device for display to a user of the computing device.
  • the sending is responsive to a request of the user of the computing device, or is responsive to browsing of the user of the computing device.
  • the device of the user and the computing device referred to in steps 920 and 950 are referred to herein by different names so as to differentiate between them, however they can be the same device or they can be different devices without limitation.
  • the second category is determined based on one or more pairs of (i) the attribute associated with a respective user of the one or more users from which the selection of a first category was received, and (ii) the first category received from that user, or a combination thereof. More specifically, user-selected categories received from a group of users having a particular attribute that is common to those users can be considered as a subset of the user-selected categories received from all users, and a most common user-selected category within that subset can be selected as the second category (e.g. the category which received the largest share of 'votes' from users). This can be termed a "clustering technique".
  • the particular attribute can be selected by the user of the computing device, or for example the particular attribute can be automatically selected as being the same as the attribute 821 that is associated with the user 81 1 of the computing device.
  • a user 811 of the computing device can choose to see a second category that has been selected (otherwise termed "segmented") on the basis of user-selected categories from a particular group of users (e.g. users associated with an attribute that marks them as company CEOs, or users who are in the UK, or users who are in the electronics manufacturing sector).
  • the user 811 of the computing device can thus choose to see opinions from company CEOs, or from another group of users, or may be automatically presented with opinions from users associated with a similar attribute to that attribute with which the user of the computing device is associated (e.g.
  • the sending via the computing device further comprises sending an indication 1060 of the particular attribute, and/or a number of users in the group having that particular attribute, and/or an indication of the number of users 1042 who have selected a first category for that item of information.
  • the user when presented with an item of information, the user is provided with an easily-interpreted summary of the opinions of other users who have already studied the item of information. This can be considered to be provision of "contextual intelligence". This assists the user to decide whether or not the item of information is worth studying in detail, and thus the user is able to more easily pass over items of information that are not what they are looking for, expending less effort, and wasting less effort which would otherwise be expended in making an initial study of the item of information so as to allow the user to decide whether or not it is of interest. A corresponding reduction in the amount of data transferred over a network to the computing device is also realised, along with savings in device power, due to the user being able to more quickly determine which items of information are of interest and which are not of interest and so do not merit downloading.
  • step 920 optionally further comprises providing a finite set of category options 1052 to the device of the one or more users, for display to the one or more users, in order that the user can more easily select a category, and in order that proliferation of similar category selections is avoided.
  • the finite set of category options 1052 comprises a plurality of category options 1052 arranged in order, for example the plurality of category options ranging from a first category option that corresponds with a generally positive user opinion (e.g. "opportunity") to a second category option that corresponds with a generally negative user opinion (“e.g. risk”), and with zero or more category options
  • each of the category options 1052 is associated with a corresponding graphical icon 1051 for display with the category options 1052 when a user is making a selection and/or when the second category 1040 is being provided to a user, wherein each graphical icon 1051 (for example, an "emoji" icon) conveys the meaning of the corresponding category option.
  • the user of the computing device after viewing the identification of the selected one of the items of information, makes their own (third) selection of a user-selected category which is stored and can be used to update the second category for that item of information by including the third selection with the first selections.
  • this is responsive to the user of the computing device interacting with the second category or with a related graphical element on a display of the computing device.
  • the finite set of category options are provided to the computing device for display to the user of the computing device, from which they can make their selection.
  • one or both of: the item of information which is provided to a user at step 920, and the item of information which is selected at step 950, are selected according to the method of the first aspect as described with reference to Figures 1 to 7.
  • Figure 10 shows three display views such as those displayed on a device of a user in step 920 and/or displayed to a user of a computing device in step 950.
  • a number of items of information (such as news stories) are presented in summary form. These items of information can be selected according to the method described with reference to Figures 1 to 7.
  • a user can interact with one of the summaries and in response to the interacting can be presented with a more detailed view of the item of information, as shown in display views 101 and 1020.
  • display view 1030 there is provided a summary 1060 of the determined second category and the particular attribute of the group of users involved in determining the second category.
  • the second category may have been determined as
  • Display view 1020 shows two category options 1052 of a finite set of category options 1050 provided to the user for selection from.
  • the category options are provided with graphical icons 1051 that convey the meaning of each respective category option in an easily intelligible manner.
  • a number of users who have chosen each category option is also displayed against each category option. Thus sum of all of these numbers adds up to the total number of users who have provided a selection.
  • the determined second category 1040 is displayed, as well as the number 1042 of users who have provided a selection, and the corresponding graphical icon 1041 for the determined second category.
  • the user is provided with a convenient way of providing their opinion of a particular item of information which involves low effort, and the user or another user is provided with a conveniently displayed, succinct and informative indication of the opinions of other users, which other users can be selected to have a specific attribute (and thus be a specific class of users) or can be automatically selected to be in a similar sector as the viewing user (by virtue of having a similar attribute to the viewing user).
  • the viewing user is provided with information that helps him or her to quickly and easily determined whether or not the item of information is of interest, without having to spend as much effort as was previously required in making a preliminary study of the item of information so as to make that determination.
  • effort expended in making such a preliminary study was often wasted, however such effort is now reduced and so the amount of user effort wasted, and the associated amount of device power and network resources required are also reduced.
  • Figure 1 1 shows a schematic diagram of a system 1 100 used to implement the methods described herein.
  • a server 11 10 is in communication with a database (data store) 1120, which in this example is a graph database but other types of database (e.g. relational) can be used.
  • database data store
  • Examples of data stored in the data store include: names, IDs of information categories; registered information category experts, associations between information categories; user profiles of information category experts and other registered users; profile data for each registered user including name, biography, organisation/industry sector, role, picture; following and/or friend status for information categories and other users; information item content and metadata relating information items to information categories and user interactions.
  • the server 1 110 is also in communication with a network 1150, which may be any kind of network suitable for transmitting or
  • the network 1150 could comprise one or more of a local area network, a wide area network, a metropolitan area network, the internet, a wireless communications network, a cable network, a digital broadcast network, a satellite communication network, a telephone network, etc.
  • a plurality of mobile devices 1 130 associated with respective users are in communication with a base station 1 140, which may be a cellular base station or a WiFi or LiFi transceiver, for example, although other types of communications networks are possible.
  • the base station 1 140 can communicate with the network 1150. Therefore, this provides a data communication interface between the server 1 110 and any or all of the mobile devices 1 130.
  • data may be provided via a physical medium (such as a CD, DVD, BluRay disc, etc.), in which case all or part of the network 1 150 may be omitted.
  • Each mobile device 1130 executes a mobile application which implements and enables the user associated with the respective mobile device 1 130 to interact with the methods described herein.
  • This mobile application can retrieve data elements stored within database 1120 upon a request sent to the server 11 10 by the mobile device 1130.
  • the communications protocol used to transmit and receive such data can be any secure or insecure protocol or a packet protocol such as http or https, for example.
  • each of the devices 1 110, 1130 in Figure 1 1 may comprise one or more computer systems 1200, an example of which is schematically shown in Figure 12.
  • computer system 1200 comprises a computer
  • a storage medium 1204 which in turn comprises: a storage medium 1204, a memory 1206, a processor 1208, a storage medium interface 1210, a user output interface 1212, a user input interface 1214 and a network interface 1216, which are all linked together over one or more communication buses 1218.
  • a storage medium 1204 which in turn comprises: a storage medium 1204, a memory 1206, a processor 1208, a storage medium interface 1210, a user output interface 1212, a user input interface 1214 and a network interface 1216, which are all linked together over one or more communication buses 1218.
  • the storage medium 1204 may be any form of non-volatile data storage device such as one or more of a hard disk drive, a magnetic disc, an optical disc, a ROM, etc.
  • the storage medium 1204 may store an operating system for the processor 1208 to execute in order for the computer 1202 to function.
  • the storage medium 1204 may also store one or more computer programs (or software or instructions or code) that form part of an embodiment of the invention.
  • the memory 1206 may be any random access memory (storage unit or volatile storage medium) suitable for storing data and/or computer programs (or software or instructions or code).
  • the processor 1208 may be any data processing unit suitable for executing one or more computer programs (such as those stored on the storage medium 1204 and/or in the memory 1206), some of which may be computer programs according to embodiments of the invention or computer programs that, when executed by the processor 1208, cause the processor 1208 to carry out a method according to an embodiment of the invention and configure the system 1200 to be a system according to an embodiment of the invention.
  • the processor 1208 may comprise a single data processing unit or multiple data processing units operating in parallel or in cooperation with each other.
  • the processor 1208, in carrying out data processing operations for embodiments of the invention may store data to and/or read data from the storage medium 1204 and/or the memory 1206.
  • the storage medium interface 1210 may be any unit for providing an interface to a data storage device 1222 external to, or removable from, the computer 1202.
  • the data storage device 1222 may be, for example, one or more of an optical disc, a magnetic disc, a solid-state-storage device, etc.
  • the storage medium interface 1210 may therefore read data from, or write data to, the data storage device 1222 in accordance with one or more commands that it receives from the processor 1208.
  • the user input interface 1214 is arranged to receive input from a user, or operator, of the system 1200.
  • the user may provide this input via one or more input devices of the system 900, such as a mouse (or other pointing device) 1226 and/or a keyboard 1224 or touchscreen.
  • the computer 1202 may store the input received from the input devices via the user input interface 1214 in the memory 1206 for the processor
  • processor 1208 to subsequently access and process, or may pass it straight to the processor 1208, so that the processor 1208 can respond to the user input accordingly.
  • the user output interface 1212 if required, is arranged to provide a
  • the processor 1208 may be arranged to instruct the user output interface 1212 to form an image/video signal representing a desired graphical output, and/or an audio signal representing a desired audio output, and to provide these signals to a display 1220 and/or one or more speakers 1221.
  • the network interface 1216 provides functionality for the computer 1202 to download data from and/or upload data to one or more data communication networks (such as the network 1150 of figure 1 1).
  • data communication networks such as the network 1150 of figure 1 .
  • the architecture of the computer system 1200 illustrated in figure 12 and described above is merely exemplary and that other computer systems 1200 with different architectures (for example with fewer components than shown in figure 12 or with additional and/or alternative components than shown in figure 12) may be used in embodiments of the invention.
  • Embodiments of the invention may be carried out on any suitable data processing device, such as a server computer, personal computer, laptop, personal digital assistant, mobile telephone, set top box, television, etc.
  • user devices may be embodied as one or more of a mobile telephone, a tablet, a laptop, a television set, a set top box, a games console, a personal computer, a server computer, other mobile devices or consumer electronics devices, etc.
  • the above-mentioned functionality may be implemented as one or more corresponding modules as hardware, firmware and/or software, or a mixture of all of these forms.
  • the above-mentioned functionality may be implemented as one or more software components for execution by a processor of the system, one or more field-programmable-gate-arrays (FPGAs), one or more application-specific-integrated-circuits (ASICs), one or more digital-signal- processors (DSPs), and/or other hardware arrangements.
  • FPGAs field-programmable-gate-arrays
  • ASICs application-specific-integrated-circuits
  • DSPs digital-signal- processors
  • a storage medium and a transmission medium carrying the computer program form aspects of the invention.
  • the computer program may have one or more program instructions, or program code, which, when executed by a computer carries out an embodiment of the invention.
  • program may be a sequence of instructions designed for execution on a computer system, and may include a subroutine, a function, a procedure, a module, an object method, an object implementation, an executable application, an applet, a servlet, source code, object code, a shared library, a dynamic linked library, and/or other sequences of instructions designed for execution on a computer system.
  • the storage medium may be a magnetic disc (such as a hard drive or a floppy disc), an optical disc (such as a CD-ROM, a DVD-ROM or a BluRay disc), or a memory (such as a ROM, a RAM, EEPROM, EPROM, Flash memory or a portable/removable memory device), etc.
  • the transmission medium may be a communications signal, a data broadcast, a communications link between two or more computers, etc.

Abstract

The invention relates to methods, apparatus, computer programs and computer-readable media, for providing data to a user. A plurality of items of information each associated with one or more information categories, and data describing one or more users including associations between other users and information categories is accessed in a data store. For each item of information, a relevance score is determined based on: a novelty score indicating a likelihood that a particular user has not already encountered the item of information; an applicability score indicating a likelihood that the item of information will be relevant to what the user is looking for; and an authority score indicating a likelihood that the item of information is accurate. Based on the relevance score one or more of the items of information are selected, and are sent to a user device where the selected items are provided to the user.

Description

A Method for Providing Contextual Intelligence
Field of the Invention The invention relates to methods, apparatus, computer programs and computer- readable media for providing data to a user.
Background of the Invention Existing methods and systems have provided users with information or data, either as part of an automatically updated information feed (e.g. a news feed) or in response to the user requesting information by an explicit or implicit search request, or in response to the user browsing for information. A problem with such existing methods and systems, however, is that users are often presented with a large amount of information, much of which they do not find interesting and/or is not what they are looking for, thereby wasting user effort and wasting system resources such as bandwidth, computing power, electrical power, etc. A further problem with existing methods and systems is that they require users to expend at least some effort in studying each new item of information that is presented to them, before the user is able to determine whether or not they wish to study the item of information in detail. Such effort often proves to be wasted - i.e. when the item of information turns out to be uninteresting or not what the user is looking for.
Some existing methods and systems have attempted to improve selection of data for presentation to a user by basing selection upon user profile data, e.g. including user preferences, or by mapping associations between the user and other users in a social network and using such data to aid in selecting the data that is presented to the user. None of those existing methods and systems have yet been entirely satisfactory.
Summary of the Invention
It would be desirable to increase the likelihood that items of information sent to a particular user will be found interesting by the particular user, and/or be what the user is searching for. It would also be desirable to reduce the amount of user effort required when such information is presented to a user, especially user effort that is potentially wasted by virtue of being effort that a user may expend on items of information that ultimately prove to be uninteresting. An object of the present invention is to at least address the above-identified problems. The methods and systems presented herein solve the above problems by providing an improved manner of selecting items of information for provision to a user, and by allowing a particular user to benefit from effort previously expended by other users regarding a particular item of information.
Various aspects of the invention are defined in the appended claims.
In a first aspect there is provided a computer-implemented method for providing data to a user, the method comprising:
accessing one or more data stores comprising a plurality of items of information, each item of information associated with one or more information categories, and data describing one or more users including associations with one or more other users and associations with the one or more information categories;
determining, a relevance score for each item of the plurality of items of information with respect to a first user, by determining, based on the data describing the first user, one or more of (i) a novelty score indicating a likelihood that the first user has not already encountered the item of information, (ii) an applicability score indicating a likelihood that the particular item of information will be relevant to what a user is looking for, and (iii) an authority score indicating a likelihood that the respective item of information is accurate;
selecting one or more of the items of information based on their respective relevance scores; and
sending the selected one or more items of information to a device of the first user, wherein the one or more items of information are provided to the first user. Optionally, the selecting is responsive to a request by the first user.
Optionally, the selecting comprises ordering the selected items of information according to their respective relevance scores such that items of information with higher scores are ordered first.
Optionally, the relevance score is based on a combination of two or more of the novelty, applicability and authority scores, and optionally wherein the combination is a multiplication operation.
Optionally, each information category relates to a respective topic area.
Optionally, the one or more data stores are implemented as a graph database comprising a plurality of vertices which are linked by one or more edges, wherein each of the items of information, each information category, and each user corresponds to a vertex, and wherein each of the items of information is associated with the one or more information categories by a respective first link corresponding to an edge, each of the one or more users is associated with the one or more other users by a respective second link corresponding to an edge, and each of the one or more users is associated with the one or more of the information categories by a respective third link corresponding to an edge.
Optionally, each graph database is implemented according to one of the following schemes: by using an adjacency list wherein vertices are stored as records or objects, and for each vertex there is stored a list of adjacent vertices; by using an adjacency matrix which is a two-dimensional matrix, wherein rows represent source vertices and columns represent destination vertices; and by using an incidence matrix which is a two- dimensional Boolean matrix, wherein rows represent vertices, columns represent edges, and matrix entries indicate whether the vertex of a particular row is incident to an edge of a particular column.
Optionally, the data describing the one or more users further includes a record of past interactions of the one or more users with the one or more items of information, and wherein each past interaction associates the one or more users with the one or more of the items of information by a respective fourth link corresponding to an edge.
Optionally, determining a relevance score comprises determining a distance of the respective item of information from the first user, wherein the distance is based on a number of edges in a path between the respective item of information and the first user. Optionally, the path between the respective item of information and the first user is a shortest path between the respective item of information and the first user.
Optionally, determining a relevance score further comprises determining a strength of each link, which links correspond to edges.
Optionally, the strength of the second links between first and second users is determined based on an attribute corresponding to whether the first user is following the second user, and/or vice-versa, wherein: mutual following indicates a highest strength; unilateral following indicates a medium strength; and no following indicates a weakest strength. Optionally, a longer time elapsed since the following attribute was established indicates a lowered strength.
Optionally, the strength of the third links between the one or more users and one of the one or more information categories is based on a type of the association between the one or more users and that information category, wherein the type corresponds to one of: a lowest strength wherein the user is not interested in the information category; a medium-low strength wherein the user is interested in the information category; a medium-high strength wherein the user is an expert in the information category; and a highest strength wherein the user is a thought-leader in the information category.
Optionally, the strength of the fourth links between the one or more users and the one or more of the items of information corresponds to one of the following ordered range from: a lowest strength wherein the user has not interacted with the item of information; a next successive strength wherein the user has been shown the item of information; a next successive strength wherein the user has read the item of
information; a next successive strength wherein the user has liked the item of
information; a next successive strength wherein the user has commented on the item of information; to a highest strength wherein the user has posted the item of information.
Optionally, the novelty score is inversely based on a strength of association between: the first user and the respective item of information.
Optionally, the novelty score is inversely based on an amount of prior interaction of the first user with the particular item of information.
Optionally, novelty score is based on, for a path comprising one or more edges between the first user and the respective item of information, a number of edges in the path and the strength of each link, which links correspond to edges. Optionally, the novelty score is related to a sum of the inverse of the respective strengths corresponding to each link in the path. Optionally, the path is a shortest path between the first user and the respective item of information. Optionally, the shortest path comprises one of the fourth links comprising a single edge between the first user and the respective item of information.
Optionally, the applicability score is based on co-association of the first user and the particular item of information with a common information category. Optionally, the applicability score is further based on a strength of association between the first user and an information category with which the particular item of information is associated, and/or based on a strength of association between the particular item of information and the information category. Optionally, the strength of association between the first user and the information category with which the particular item of information is associated is based on an amount of prior interaction of the first user with one or more items of information which are associated with that information category.
Optionally, the applicability score is based on, for a path comprising an information category associated with both the first user and the respective item of information, a number of edges in the path and the strength of each link, which links correspond to edges. Optionally, the applicability score is inversely related to the length of the path between the item of information and the first user and comprising the information category, wherein the effective length of each link in the path is diminished by its respective strength. Optionally, the path comprising the information category is a shortest path between the first user and the respective item of information.
Optionally, the relevance score is based on a combination of a plurality of applicability scores, each relating to a different information category of a set of information categories which are associated with the first user.
Optionally, the authority score is based on an authority rating of a second user via whom the respective item of information is linked to the first user, wherein the authority score relates to a likelihood of items of information coming to the first user via the second user being accurate. Optionally, the authority score is based on one or more of: a personal authority score for the second person with respect to the first user; and a community authority score for the second person with respect to the first user.
Optionally, the personal authority score is based on, for a path comprising one or more edges between the first user and the second user, a number of edges in the path and the strength of each link corresponding to an edge.
Optionally, the path between the first user and the second user is a shortest path between the first user and the second user.
Optionally, the personal authority score is inversely related to the length of the path between the first user and the second user, wherein the effective length of each link in the path is diminished by its respective strength.
Optionally, the community authority score is based on: a number of other users who are associated with (i) the second user and (ii) with a same information category with which the respective item of information is associated; compared with a highest number of other users who are associated with any other user associated with that information category. Optionally, the community authority score is further based on the strength of each association between each respective other user and the second user.
Optionally, the authority score is further based on a strength of association between the second user and an information category with which the particular item of information is associated.
Optionally, the authority score is further based on an amount of prior interaction of the second user with the particular item of information.
Optionally, the method further comprises: receiving from a particular user a selection of an information category; and updating the data describing the one or more users so as to associate the particular user with the selected information category.
Optionally, the method further comprises: receiving from a particular user a selection of another user who the particular user wishes to be associated with; and updating the data describing the one or more users so as to associate the particular user with the other user.
Optionally, the method further comprises: receiving an indication of an interaction of one of the one or more users with one or more of the items of information; and updating the data describing the one or more users with a record of the interaction so as to associate the one or more users with the one or more items of information.
Optionally, the method further comprises: in response to a request by the first user, retrieving data relevant to the request from one or more data stores. In a second aspect there is provided a computer-implemented method for providing data to a user, the method comprising:
accessing a data store comprising one or more items of information and one or more attributes, each attribute associated with a respective user of one or more users; providing at least one of the items of information to a device of a user of the one or more of users;
receiving, from the user to which the information was provided, via the device, a selection of a first category for the provided item of information;
determining a second category of the provided item of information, based on a combination of said first category selections received from a plurality of the users for the provided item of information, and based on the attributes associated with those users from which the first category selections were received; and
sending via a computing device for display to a user of the computing device, an identification of a selected one of the items of information, along with the determined second category for the selected item of information.
Optionally, the first category represents the respective user's opinion of the provided item of information.
Optionally, the second category is determined based on one or more pairs of (i) the attribute associated with a respective user of the one or more users from which the selection of a first category was received, and (ii) the first category received from that user.
Optionally, the providing further comprises providing a finite set of category options to the device of the user for display to the one or more of the users and for selection therefrom, and wherein the second category is determined based on a category that was selected by a majority of users out of a set of users comprising those users from which the selections of a first category were received. Optionally, the set of users is a subset of those users from which the selections of a first category were received, the subset consisting of users which are associated with a similar attribute. Optionally, the similar attribute is also similar to the attribute associated with the user of the computing device. Optionally, the similar attribute is selected by the user of the computing device.
Optionally, the sending is responsive to a request received from the user of the computing device. Optionally, the method further comprises: responsive to the request, sending via the computing device for display to the user of the computing device, an indication of that attribute which is the same for the subset of users. Optionally, the method further comprises, responsive to the request, returning via the computing device for display to the user of the computing device, an indication of the number of users who have selected a first category.
Optionally, the method further comprises, responsive to the user of the computing device interacting with the returned second category on the computing device: providing the finite set of category options to the computing device for display to the user of the computing device; accepting from the user of the computing device a selection of a third category for the selected item of information; and updating the second category of the selected item of information, according to the step of determining a second category, by including the third category in the first category selections for the selected item of information.
Optionally, the finite set of categories comprises a plurality of category options arranged in order and ranging from a positive category option to a negative category option.
Optionally, each of the finite set of categories is displayed with a corresponding icon conveying the meaning of the respective category.
Optionally, the attribute associated with each respective user relates to one or more of the following: their level within an organisation, the geographical location, and their industry sector.
Optionally, the selected one of the items of information is selected according to the method of the first aspect.
In a third aspect there is provided a computing device arranged to carry out the method according to either or both of the first and second aspects. In a fourth aspect there is provided a computer program comprising program instructions that, when executed on one or more computers cause the one or more computers to perform the method according to either or both of the first and second aspects.
In a fifth aspect there is provided a computer-readable medium, which may be a non-transitory computer-readable medium, storing instructions which, when executed by one or more processors, cause the one or more processors to carry out the method according to either or both of the first and second aspects.
In a sixth aspect there is provided a method substantially as described with reference to any of the accompanying drawings.
In a seventh aspect there is provided an apparatus substantially as described and shown in any of the accompanying drawings. The methods described above may be implemented as a computer program comprising program instructions to operate a computer. The computer program may be stored on a computer-readable medium.
The device or devices of any or all users may be a mobile device, a computer, a smartphone, a tablet computer or any other computing device, for example.
The computer system may include a processor such as a central processing unit
(CPU). The processor may execute logic in the form of a software program. The computer system may include a memory including volatile and non-volatile storage medium. A computer-readable medium may be included to store the logic or program instructions. The different parts of the system may be connected using a network (e.g. wireless networks and wired networks). The computer system may include one or more interfaces. The computer system may contain a suitable operating system such as UNIX, Windows (RTM) or Linux, for example.
It will be appreciated that certain features of certain aspects, along with other optional features described herein, can be advantageously combined with certain other aspects, as would be understood by a skilled person. The above aspects are not intended to limit the invention which is instead defined by the appended claims.
The detailed description of embodiments below should not be interpreted as meaning that all described method steps and/or system elements are essential. Instead, certain method steps and/or system elements may be understood by a skilled person to be optional, even where those steps/elements are not explicitly described as being optional. The appended claims define the essential features of the invention. Brief description of the Figures In order that the invention may be more readily understood, preferred
embodiments will now be described, by way of example only, with reference to the accompanying Figures, in which:
Figure 1 is an example data schema showing relationships between a plurality of users;
Figure 2 is an example data schema showing relationships between a plurality of information categories;
Figure 3 shows an example data schema illustrating the relationships between different data elements;
Figure 4 is an example data schema showing relationships between a user, a plurality of items of information, and a plurality of information categories;
Figure 5 is an example data schema showing relationships between a plurality of users, a plurality of information categories, and a plurality of items of information;
Figure 6 is a data flow diagram illustrating factors on which the determination of a relevance score for a particular item of information with respect to a particular user is based in an embodiment;
Figure 7 is a flow diagram illustrating the steps of a method according to an embodiment;
Figure 8 is an example data schema showing relationships between a plurality of users, associated attributes, and user-selected categories for a plurality of items of information;
Figure 9 is a flow diagram illustrating the steps of a further method according to an embodiment;
Figure 10 is an example illustration of display arrangements for a mobile device implementing the method shown with respect to Figure 9;
Figure 1 1 shows a schematic diagram of an example system for implementing any of the described methods; and
Figure 12 shows a schematic diagram of features of an example computing device which could be used for the devices shown in Figure 11.
It should be noted that the figures are illustrated for simplicity and are not necessarily drawn to scale. Like features are provided with the same reference numerals. Detailed description of the preferred embodiments Many types of data that are available over a network or otherwise are interrelated by way of associations. For example, existing methods and systems have mapped associations between users in a social network, using a graph representation. In another example, one topic area (otherwise termed an "information category") may be associated with (be related to or have overlaps with) zero or more other topic areas. Some existing methods and systems have mapped associations between information categories and items of information, again using a graph representation.
When conducting a search or browsing for data (e.g. an "information item") relating to a particular subject, a user may encounter items of information that are in a particular information category, but the user may be unaware of other items of information that are likely to also be interesting, by virtue of, for example, those other items of information which are in similar or related information categories. It would be beneficial if other items of information that are likely to be interesting to the user could be determined, in order that they could be automatically presented to the user. Such a determination can be made as described herein.
In general, the embodiments described herein provide a computer-implemented method of determining a score, value or weighting for a particular item of information, which score indicates a likelihood that the particular item of information will be what a particular user is interested in or is searching for.
The score is based on stored data including (but not limited to) one or more of: associations between the particular user and one or more information categories with which the item of information is associated;
associations between the particular user and other users (e.g. other users with which the item of information is associated); and/or
stored data indicating past interaction(s) between the particular user and the item of information.
By way of example, if a particular item of information is associated with an information category with which the user is associated then the likelihood that the item of information will be interesting to the user is increased. Similarly, if the item of information is associated with another user with which the particular user has an association (e.g. previous contact, knowledge or interaction) then the likelihood that the item of information will be interesting to the particular user may be increased. Also, if the particular user has previously interacted with the particular item of information, that may indicate that the user previously found the item of information interesting, however on the other hand it may also indicate that the particular user has already studied the item of information and thus the item of information may no longer be interesting, but on the other hand this may indicate that another item of information that is associated with (e.g. by being in the same information category) the interacted-with item of information would be relatively likely to be interesting. Any of these factors, a combination of two or more of these factors, or any other factors described herein can also be involved in
determining the score. Further details are described below.
The determined score can be used to rate items of information, which rated items can be preferentially sent to the particular user according to their rating (e.g. highest rated items can be sent first, or lower rated items can be withheld), thereby increasing the likelihood that the user will find the items of information that are sent to them interesting. Furthermore, by sending more highly rated items first, or withholding lower- rated items, the likelihood that the user will reach an early conclusion of a search for whatever information they are looking for is increased, and thus network bandwidth is used more efficiently and user-effort is reduced.
Figure 1 shows in schematic form a graph 100 comprising a number of nodes (alternatively termed vertices) 1 10, each node 1 10 associated with a respective user Ui to U7, and linked to (i.e. associated with) one or more other nodes by a respective edge (otherwise termed a link) 120. Each node 1 10 and each edge 120 can be stored in a data store, such as data store 1120 shown and described herein with respect to Figure 1 1. In this example, user Ui is associated with (i.e. linked to) users U2 and U4 by respective links 120. In the example of a social graph, a bidirectional link may be recorded between two users if the two users are "friends", or alternatively a unidirectional link may be recorded if one user "follows" the other user but the other user does not reciprocate.
A path begins at a first node and ends at a second node, and comprises one or more edges linking the first node to the second node, in some cases via intermediary nodes. For example, a path beginning at the node 1 10 corresponding to user Ui and ending at the node 1 10 corresponding to user U7 comprises two edges 120 and an intermediary node 1 10 corresponding to user U2. Since user Ui and user U7 are linked by that path, but there is no single edge 120 linking U1 and U7 without any intermediary nodes 110, user Ui and user U7 are said to be indirectly linked (i.e. there is an indirect path linking Ui and U7). In contrast, there is a path beginning at user Ui and ending at user U2, with no intermediary nodes between and with a single edge 120 linking the nodes corresponding to Ui and U2. Thus, user Ui and user U2 are said to be directly linked. By way of a further example, user Ui and user U4 are directly linked by a single edge 120 (uppermost in Figure 1), and are also indirectly linked by two edges 120 comprised in a path comprising the nodes 1 10 corresponding to users Ui , U5 and U4. Hereafter when nodes are said to be linked or associated it is meant that the nodes are directly linked by an edge 120, unless specified otherwise. The length of a particular path between two nodes 110 can be said to be equal to the total number of edges 120 in the path between those two nodes 1 10. Similar principles of graph networks apply to other types of nodes (i.e. nodes which correspond to other types of entities), not only to nodes 1 10 corresponding to users. For example, other types of entities can include items of information, information categories, conference attendance records, etc., and graphs can comprise a mixture of nodes corresponding to different ones of those or other types of entities.
Such a graph (or "graph network") 100 can be implemented using a graph database, for example using data store 1120. Graph databases can be implemented in a number of ways, including one of the following schemes: by using an adjacency list wherein nodes/vertices are stored as records or objects, and for each vertex there is stored a list of adjacent vertices; by using an adjacency matrix which is a two- dimensional matrix, wherein rows represent source vertices and columns represent destination vertices; and by using an incidence matrix which is a two-dimensional Boolean matrix, wherein rows represent vertices, columns represent edges, and matrix entries indicate whether the vertex of a particular row is incident to an edge of a particular column.
As shown in Figure 2, information categories (e.g. categories within which items of information are grouped, such as a category of "Employment and skills" and a category of "Education", wherein each item of information might be a textual, visual or audio presentation, such as a news story on a particular subject within the respective category) can be similarly represented as a graph 200. Another term for information categories is topic areas. In this example, the information categories 210, 220 shown in Figure 2 comprise primary categories (otherwise termed "insight areas") and secondary categories (otherwise termed "key issues"), whereby "insight areas" have zero or more "key issues". A "key issue" therefore always has a parent "insight area". It will be appreciated, however, that fewer types of category or a greater number of categories can be used, and fundamentally "insight areas" and "key issues" are both information categories, with which zero or more items of information are associated. In Figure 2, associations (relationships) between information categories 210, 220 are represented by edges 230. Furthermore, such associations can be directed (one-way) or bi-directional, as shown by arrowed and non-arrowed edges 230 respectively. Such a graph can be considered to be the "backbone" of a "knowledge graph" - e.g. such a graph comprises a number of information categories into which items of information can be appropriately added and grouped (by associating each item of information with a respective one of the information categories). Figure 3 provides an example of a graph 300 comprising various data elements
(otherwise termed "entities") and showing their relationships (associations) with each other. By way of example, four main types of entity are shown in Figure 3: a user 310, items of information 320 (e.g. a written article titled "Transportation costs of Aluminium"), information categories 330, and event attendance records 340 (e.g. a record that a user attended a conference titled "Aluminium refining techniques"). As previously mentioned, each information item 320 is associated with at least one information category 330. As shown, the user 310 is associated with (i.e. the user "follows") a number of information categories 330, and the user 310 is also recorded as having interacted with a number of the items of information 320 (e.g. the user may have read or posted one or more of the items of information 320). Optionally the user 310 may also have attended one or more conference events, resulting in an association between the user 310 and one or more conference attendance records 340, or similarly the user 310 may have viewed or listened to a number of video, audio or multimedia entities, resulting in an association being made between the user 310 and a corresponding record of that interaction. Such interactions are recorded and, as will be discussed below, can be used to determine the relevance of items of information 320 to the user 310. The graph 300 shown in Figure 3 can be considered to be a "knowledge graph" from the point of view of a particular user 310.
It is important to note that each node 310, 320, 330, 340 may link to, or be associated with one or more other nodes 310, 320, 330, 340, and complex
associations/relationships can exist. A graph database is a particularly useful and suitable storage repository for such data elements as it is suited to store associations of this type. Figure 3 is a visual representation of a small part of an example data set of various interrelated nodes. It can be seen that it is difficult to visually interpret and determine the various relationships between data elements using such a visual representation, due to the larger number of links/associations. This problem can be particularly acute when using a device having a small screen such as a mobile device or smartphone, for example.
As shown in more detail in Figure 4, nodes 420 and 421 correspond to information categories (nodes 420 correspond to primary categories by the name of "insight areas", and nodes 421 correspond to secondary categories by the name of "key issues"), nodes 430 correspond to items of information, node 431 corresponds to an attendance record of a conference (which can be considered to be a particular type of information item 430), and nodes 401 and 402 correspond to users.
In Figure 4 it can be seen that each information item 430 is associated with at least one information category 420, 421 by first link 41 1 (in the shown example, items of information 430 are directly associated/linked with at least one insight area 420, and in turn key issues 421 are associated with insight areas 420 by fifth links 415, however in other embodiments items of information 430 can be directly associated with key issues 421 , and/or there may be only a single hierarchical level of information category or there may be more than two hierarchical levels of information category).
Also in Figure 4 it can be seen that user 401 is associated with a number of the information categories ("insight areas" 420) by third link 413 (for example, by virtue of the user having indicated a preference which is stored in a corresponding user profile in a data store such as data store 1120), and the user 401 is also associated with a number of items of information 430 by fourth links 414 (by virtue of having previously interacted with those items of information). Such interactions can be stored in a data store such as data store 1120.
It will be noted that second user 402 is similarly linked to conference attendance record 431 by a fourth link 414, and can be linked to information categories 420, items of information 430, and to other users such as user 401 by a second link (not illustrated). Thus, the graph 400 of entities can comprise numerous different types of entities, linked together in many ways, and thus a user 431 can be directly or indirectly associated with/linked to a particular item of information 430 by many different paths of different lengths, each path comprising numerous vertices/nodes corresponding to different types of entity and comprising numerous first to fifth links 411 , 412, 413, 414, 415 described above. The presence of second user 402, and any link between the second user 402 and first user 401 , can be considered as a merging together of social graph and knowledge graph concepts. Figure 5 illustrates a generalised and simplified embodiment, comprising a graph 500 in which social and knowledge graphs are combined, and comprising: first and second information categories (ICi , IC2) 530, 540; first to third users (Ui , U2, U3) 550, 560, 570; and first and second items of information ( , l2) 510, 520. In this embodiment, for simplicity, only a single hierarchical level of information category 530 will be considered, although the skilled person will appreciate that the aforementioned primary and secondary categories ("insight areas" and "key issues") can be incorporated into this model. Graph 500 can be termed an "insight graph", and shows connections between users and information that they may find particularly interesting, given their prior knowledge, interests and relationships. Such information can be transferred from one user to another according to the links of such a graph by various means, including "sharing", direct messaging, via an information "feed", and/or by the use of hashtags.
As shown, the first user 550 is associated with the second user 560, and the second user is associated with the third user 570, by virtue of second links 582.
The first user is associated with the first information category 530, and both second and third users 560, 570 are associated with the second information category, by virtue of third links 583.
The first item of information 510 is associated with the first information category 530, and the second item of information 520 is associated with both the first and second information categories 530, 540, by virtue of first links 581.
Optionally the first and second information categories are associated with each other by virtue of fifth link 585.
Finally, the first user 550 is associated with the first item of information 510 by virtue of fourth link 584 corresponding to a past interaction between the first user 550 and the first item of information 510. Similarly, the third user 570 is associated with the second item of information 520 by virtue of fourth link 584 corresponding to a past interaction between the third user 570 and the second item of information 520.
A method of determining a relevance score 680 for a particular item of information with respect to a particular user will now be described with reference to Figures 6 and 7.
Figure 6 shows, in schematic form, data (e.g. metadata) which is used to determine a relevance score 680, on the basis of which one or more items of information can be rated and/or ordered and/or otherwise selected, and the selected items provided to a particular user. For example, each item of information can be ordered according to its relevance score (e.g. highest score first), and those items of information with scores meeting a threshold can be provided to the user, and/or those items of information with the highest scores can be provided to the user before (or instead of) those items of information with lower scores.
In embodiments, the selecting and/or providing of items to a user can be in response to a request by the user, such as an explicit or implicit search request, or a request for data as part of the user browsing for information.
The relevance score 680 is based on one or more of (but not limited to) the following factors: a novelty score 671 ; an applicability score 672; and an authority score 673. In an embodiment, the relevance score 680 is determined by multiplying two or more of the novelty score 671 , the applicability score 672, and the authority score 673 together. For example, the relevance score 680 is calculated as follows:
Relevance = Novelty x Applicability x Authority The novelty score 671 is an indication of a likelihood that the particular user has not already encountered a particular item of information, for example the likelihood that the particular item of information is new to the particular user. The applicability score 672 is an indication of a likelihood that the particular item of information will be relevant to what a user is looking for. The authority score is an indication of a likelihood that the particular item of information is accurate, based on the trustworthiness of its source.
In embodiments, the novelty score is based on a distance (i.e. a number of edges) between the particular user (as represented by a node 550 in a graph 500) and a particular item of information (as represented by another node 510 in the graph 500) along a path beginning and ending at those respective nodes. Preferably, the path is a shortest path between those nodes 510, 550, as can be found by existing algorithms such as Dijkstra's algorithm (Dijkstra, E.W. 1959 "A note on two problems in connection with graphs") for finding the shortest path between two nodes in a graph network. In other embodiments, however, more than one path can be considered, and the individual scores for each path can be combined, e.g. by summing or multiplying them together. In Figure 5, there are multiple paths between user Ui 550 and item of information 510, including the path defined by edge 584, and the path defined by edges 583 and 581. The shortest path in this example is the path defined by edge 584. In determining the novelty score, a higher distance between user 550 and item of information 510 indicates a higher novelty score and vice versa. The novelty score is thus based on a distance between the user 550 and the item of information 510 in the graph 500. The novelty score is also based on a strength of the association between the particular user and the particular item of information. Preferably this strength of association is based on a level of interaction between the user and the item of information: in the case where the shortest path between the user 550 and item of information 510 is a direct link corresponding to an edge 584 representing an interaction between the user and the item of information, the distance is 1 , and the strength of the link (the strength of the association between the user and the item of information in this case) can be either set to a nominal value (e.g. 1) or can be determined to correspond to a degree of interaction between the user and the item of information. For example, degrees of interaction can range from: a lowest strength wherein the user has not interacted with the item of information; a next successive strength wherein the user has been shown the item of information; a next successive strength wherein the user has read the item of
information; a next successive strength wherein the user has liked the item of
information; a next successive strength wherein the user has commented on the item of information; to a highest strength wherein the user has posted the item of information. It will however be appreciated that other types of interactions can also correspond to other degrees of interaction, and the above list is not limiting. In determining the novelty score, a lower degree of interaction indicates a higher novelty score and vice versa, and a higher distance indicates a higher novelty score and vice versa. The novelty score is thus also inversely based on a strength of association between the user and the item of information. Combining the distance and strength values, in this case the novelty score can be determined as:
Novelty(UJ) = Distance(U, I) x Strength"1 (U,l) where U is a particular user, and I is a particular item of information.
In the case where the shortest path between the user 550 and the item of information 510 is an indirect link comprising two or more edges (e.g. edges 581 , 583), then the novelty score is based on the distance (which is the number of edges in the path - 2 in this example) and on the strength of each edge 581 , 583, wherein each edge
581 , 583 corresponds to a link between two entities in the graph 500 (in this example, edge 581 links entities 510 and 530, and edge 583 links entities 530 and 550). In one embodiment, the novelty score, Novelty(U,l) equals the sum of Distance x Strength"1 for each edge 581 , 583 in the path between user U and item of information I. In another embodiment, the novelty score Novelty(U,l) equals the product of Distance x Strength"1 for each edge 581 , 583 in the path between user U and item of information I. In cases where the shortest path between the user 550 and the item of information 510 includes one or more edges 582 representing associations between users, one or more edges 583 representing associations between users and information categories, one or more edges 581 representing associations between information items and information categories, and/or one or more edges 585 representing associations between one information category and another information category, the strength of such associations can be set to be a nominal value (e.g. 1), or alternatively the strength of such associations can be determined as follows.
For associations 582 between first and second users, the strength can be determined based on an attribute corresponding to whether the first user is following the second user, and/or vice-versa, wherein: mutual following indicates a highest strength; unilateral following indicates a medium strength; and no following indicates a weakest strength. Such attributes can be stored for each user in a data store such as data store 1 120. Embodiments where only a single "friends" attribute is stored can be considered to correspond to the cases of "no following" if two users are not friends, or "mutual following" when two users are friends. Other similar schemes for determining the strength of a relationship between two users will be apparent and can be used.
Furthermore, the time elapsed since a "following" or "friends" attribute was stored can be used as an indication of the strength of an association between two users - for example, if a long time has elapsed since such an attribute was stored then it could be inferred that the strength of association is stronger than if a short time has elapsed, since users who have been associated for a long time are more likely to know each other well and perhaps share some common interests.
For associations 583 between users and information categories, the strength can be determined based on a type of the association between the one or more users and that information category, wherein the type corresponds to one of: a lowest strength wherein the user is not interested in the information category; a medium-low strength wherein the user is interested in the information category; a medium-high strength wherein the user is an expert in the information category; and a highest strength wherein the user is a thought-leader in the information category. The number and types of associations in the above list is not exhaustive or limiting, and it will be appreciated that other types of associations between a user and an information category can be used and can indicate appropriate strengths of association. Furthermore, these types of associations can be self-declared by the particular user, or can be determined by other algorithms outside the scope of this specification, and/or a mixture of the two. The types of associations between a particular and various information categories can be stored in a data store such as data store 1120, for example in a profile associated with the user.
In embodiments, the applicability score 672 is based on an association between the particular user and an information category that the particular item of information is also associated with (i.e. co-association of the user and the item of information with a common information category). In other words, if the user is associated with a particular information category (e.g. the user has indicated a preference for information in the category of "mining and metals", which preference can be stored in an associated user profile which can be stored in a data store such as data store 1 120), then it is more likely that items of information that are associated with that category will be relevant to what the user is looking for.
In more detail: distance and strength values (calculated similarly to as described above for novelty) can be determined for a path between the particular user and a particular item of information. The path may be based on the user's interests and expertise and therefore the path is preferably a path (preferably a shortest path, but as indicated for "novelty", in other embodiments, values for a number of paths can be combined) between the user and the item of information, which path comprises a node corresponding to one of information categories that the user is associated with. More than one path may fit this criterion, for example if the user is associated with more than one information categories and the item of information is associated with more than one of those categories. Referring to the example of Figure 5, the path between user Ui 550 via link 583 to information category ICi 530, and via link 581 to item of information 510 is such a path. The overall distance is 2, while each link 581 , 583 has a distance of 1. The strength of the link 583 between the user 550 and the information category 530 can be determined as described above, and optionally can be modified (or further based on) an amount of prior interaction between the user and one or more items of information that are associated with that information category (for example, a user may initially indicate their interest in an information category, and then by virtue of interacting with items of information in that category the user may elevate themselves to an expert in that information category). The strength of the link 581 between information category 530 and item of information 510 can be assigned a nominal value such as 1 , or alternatively can be determined based on a rating of how strongly the item of information relates to the information category. Such ratings can be predetermined or can be received from users as described further below. An applicability score for the particular item of information with respect to the particular user can be determined by considering distance and one or more of the strength values of the links in the path, e.g. combining the strength values for each link in the path (such as by multiplying them) to obtain an overall strength value for the path. For that path (which path corresponds to one of the information categories that the user is associated with), applicability can be calculated from the distance and overall strength as follows:
Applicability(U.I) = (Distance(IC(u), I) x Strength (IC(u),l)"1)"1 where U is a particular user that is associated with information category IC, and I is a particular item of information. Thus, applicability of an item of information to a particular user is inversely related to the length of the path between the item of information and the user, wherein the effective length of each link in the path is diminished by its respective strength.
In a further embodiment, an applicability score for each of a plurality of paths between the particular user and the particular item of information, each path comprising a different information category of a set of information categories that are associated with the user, can be calculated and summed to give an overall applicability score 672.
Either of an applicability score for a single path, or an overall applicability score for a plurality of paths, can be used in the subsequent calculation of a relevance score. By including more information categories in the applicability score a more accurate reflection of how the item of information is associated with the user is reached.
In embodiments, the authority score 673 is based on one or more factors relating to a second user via whom the first user is indirectly linked to the particular item of information. For example, referring to Figure 5, user U2 560 is indirectly linked to item of information 510 via user Ui 550 who interacted with the item of information and is thus associated with the item of information via edge 584. The extent to which user U2 560 trusts information brought to them via user Ui 550 is likely to be based on the extent to which user U2 560 is familiar with and impressed by user Ui 550. Likewise, (although not shown in Figure 5 for the sake of simplicity) other users who are associated with user Ui
550 will have a similar opinion of user Ui 550. Since users who are connected in a social graph tend to follow behaviour where they will initially "friend" or "follow" other users who they are familiar with, and only change their associations if they are particularly impressed (or unimpressed) with one of those users, the associations between users and optionally the length of time elapsed between such associations being established can be used as an indication of how impressed a particular user is with another user. Since a particular user's impression of another user is likely to be at least partly based upon how impressed the particular user is with the other user's posts (especially if finer-grained levels of "following" are used for a particular other user, for example "followed", "expert", "leader", optionally for each particular field), such
"following" or "friend" associations can be used as an indication of the likely reliability or accuracy of the other user's posts, based on prior experience of the particular user. Thus, a first factor on which the authority score is based is an authority rating of the second user with respect to the first user, the rating termed "personal authority", which is based on a strength of association between the first user and the second user. For example, if the first user "follows" the second user but the second user does not reciprocate then a moderate strength of association between first and second users can be inferred, and thus a moderate level of personal authority. On the other hand, if the first and second users mutually "follow" each other then a stronger level of association between the users can be inferred (since mutual following is likely to indicate mutual respect based on prior interactions and prior experience of the users' posts - and mutual respect can be an indication of accuracy / trustworthiness of such prior posts). Further, a recent "follow" can indicate that a user is currently very interested in what another user has to say, or on the other hand it could indicate that the other user is so far "untested", or a recent "un-follow" by the user could indicate that the user is particularly unimpressed with the other user. In embodiments, other factors such as a frequency with which the user interacts (e.g. "likes") the other user's posts, or membership of the same groups or organisation, can also contribute to personal authority. Furthermore, where two users are not directed linked by a "following" or "friend" (or similar) association, for example in Figure 5 where first user Ui 550 and third user U3 570 are indirectly linked via second user U2 560 (or where first user Ui 550 and third user U3 570 are indirectly linked by information category ICi 530 which is linked to information category IC2 which is linked to third user U3 570), personal authority can be calculated in a similar way as applicability is calculated above, based on a distance equal to a number of edges in a path between the two users, and optionally based on a strength of the link corresponding to each of those edges. Preferably the path which is considered when calculating personal authority is a shortest path between the two users, although in other embodiments, as noted for "novelty", a number of paths can be considered, and respective values combined.
A second factor on which the authority score 673 is based is termed "community authority", and is based how popular (which implies a level of trust) the second user is within a particular community, in terms of how many followers that second user has compared with a maximum number of followers of any user in that community (e.g. a maximum number of followers Fmax can be the total number of members in the community or it can be the highest number of followers that any member of that community actually has). If F(u) is a function returning the number of followers that a particular user u has in a particular community, then:
Community Authority = F(u2) / F,
In an embodiment the community can be defined as the set of users who are associated with a particular information category, which in order for the community authority value to be relevant to the particular item of information for which relevance is being determined, should be an information category with which the particular item of information is associated, IC(i). Optionally the community authority value can be further based on a strength of association between each member of the community and the second user. Optionally the community authority value can be further based on a strength of association between the second user and the information category IC(i) with which the particular item of information is associated, and optionally on an amount of prior interaction between the second user and items of information associated with that information category, such as the particular item of information, e.g. if the second user has published a large number of articles (information items) in peer-reviewed journals, rather than merely self-declaring that they are an expert, then such peer-review can be given more weight. A higher level of trust in a user by other users implies a higher level of knowledge and/or ability in that community, and thus a higher likelihood of information items coming via that user being accurate (and vice-versa). Other examples of communities are: people-based communities such as relating to particular public figures; organisation-based communities such as relating to a particular organisation e.g. a particular global growth company; topic-based communities such as relating to a particular topic e.g. the Global Agenda Council on Europe; location-based communities such as those specifically relating to a particular location e.g. London; industry-based communities such as relating to a particular industry sector e.g. automotive; and time- based communities relating to a particular time period e.g. "Young Global Leaders class of 2015".
The (overall) authority score 673 for a particular item of information I, a particular first user Ui (here, the same user as the user involved in the novelty and applicability values above) and a particular second user U2 via who the item of information is linked to the first user Ui , is thus calculated as a combination of the personal authority value for user U2 in the eyes of user Ui , and the community authority value for user U2 in a particular community (such as for example an information category IC(i) that is associated with the particular item of information). In a preferred embodiment:
Authority(Ui ,U2,l) = Personal Authority(Ui ,U2) x Community Authority (U2,IC(i))
It will be appreciated that one of other of the personal authority and community authority factors can be omitted, while the remaining authority factor will remain an indication of accuracy / trustworthiness of an item of information that is connected to the first user via the second user.
Thus, a relevance score 680 for a particular item of information with respect to a particular user can be calculated using one of or a combination of two or more of the aforementioned novelty score 671 , applicability score 672, and authority score 673. The relevance score 680, once determined, can be used to rate each of a number of items of information, which items can be selected from in order of highest rated first to provide to the particular user. Thereby the items of information that are most likely to be what the user is looking for can be provided to the user first, and those items of information that are determined to be less likely to be what the user is looking for can be withheld from the user or at least provided at a later time, or lower down in an ordered list of items. Thus, a user is assisted with finding items of information that they are looking for and may be able to make an early conclusion to their search or browsing operation for such items of information. Thereby network bandwidth, computing power and user effort can be reduced. Furthermore, the methods herein enable users to focus their time and effort on reading and contributing to information which is most interesting and insightful to them, while filtering out less useful information, thereby assisting with the efficient flow of knowledge (otherwise termed "insights") from one user to another.
Referring to Figure 7, a method 700, which may be implemented using a computer, of providing data to a user will now be described according to an embodiment.
At step 710, one or more data stores (such as data store 1 120 in Figure 11) are accessed, wherein the one or more data stores comprise a plurality of items of information 510, 520, and each item of information is associated with one or more information categories 530, 540. The one or more data stores further comprise data describing one or more users 550, 560, 570 including associations with one or more other users 550, 560, 570 and associations with the one or more information categories 530, 540. At step 720 a relevance score is determined for each item of the plurality of items of information 510, 520, with respect to a first user 550. Determining the relevance score involves or is performed by determining, based on the data describing the first user 550, one or more of (i) a novelty score indicating a likelihood that the first user has not already encountered the item of information, (ii) an applicability score indicating a likelihood that the particular item of information will be relevant to what a user is looking for, and (iii) an authority score indicating a likelihood that the respective item of information is accurate. The determining of these scores is detailed above with reference to Figure 6.
At step 730, one or more of the items of information 510, 520 are selected based on their respective determined relevance scores. Optionally, the selecting is responsive to a request by the first user.
At step 740, the selected one or more items of information are sent to a device (such as device 1 130 in Figure 1 1 ) of the first user 550.
At step 750 the selected one or more items of information are provided to the first user 550, for example on a display or via an audio device or by other means of providing items of information to a user.
Optionally, the method further comprises a step of receiving from a particular user 550 a selection of an information category 530, and updating the data describing the one or more users so as to associate the particular user 550 with the selected information category 530.
Optionally, the method further comprises a step of receiving from a particular user 550 a selection of another user 560 who the particular user 550 wishes to be associated with, and updating the data describing the one or more users so as to associate the particular user 550 with the other user 560.
Optionally, the method further comprises receiving an indication of an interaction of one of the one or more users 550, 560, 570 with one or more of the items of information 510, 520, and updating the data describing the one or more users with a record of the interaction so as to associate the one or more users 550, 560, 570 with the one or more items of information.
Optionally, the method further comprises: in response to a request or action by the first user, retrieving data relevant to the request or relevant to any of steps 710 to 750 from one or more data stores such as data store 1 120 of Figure 1 1 . Optionally such a data store can comprise at least one database, preferably a graph database. Referring to Figure 8, it can be seen that a plurality of users 81 1 , 812, 813 are each associated by link 830 with a respective attribute 821 , 822, 823, as stored in a data store such as data store 1 120 in Figure 1 1. Each of a plurality of items of information 841 , 842 can be provided to the users 811 , 812, 813 via a user device. Each user 81 1 , 812, 813 can select a user-selected category 861 , 862, 863, 864 for each item of information, for example user 81 1 (if provided with information items 841 and/or 842) can select a user-selected category 861 for item of information 841 , and a user-selected category 862 for item of information 842. A device of a user, not shown, can receive the user's selection of a user-selected category 861 , 862, 863, 864, and the user-selected categories 861-864 can be associated by links 850 with the respective items of information 841 , 842. This can be achieved by storing appropriate data in a data store. Preferably an association is also made between each user-selected category 861-864 and at least an attribute of the user 81 1-813 who selected that category (for example, the attribute of the user can be a level or position of the user within a company or organisation - such as CEO, manager, designer, IT professional, their geographical location - such as UK, USA, Europe, Switzerland, and/or their industry sector - such as finance, electronics manufacturing, automatic, retail). Optionally the association between each user-selected category and the user attribute can be indirect by virtue of associating 840 the user-selected category 861 with the user 81 1 who selected it, but alternatively a separate record can be stored. Any suitable method of associating the above user attribute with the user-selected categories can be used.
Referring to Figures 9 and 10, a method 900 of providing data to a user comprises the following steps.
At step 910 a data store 1120 comprising one or more items of information 841 , 842 and one or more attributes 821-823 is accessed, each attribute 821-823 associated with a respective user of one or more users 811-813.
At step 920 at least one of the items of information 841 , 842 is provided to a device (such as device 1 130 of Figure 11 ) of a user of the one or more users 81 1-813. As shown in display 1020 of Figure 10, a plurality of category options 1052 are provided to the device of the user for display to the user. The user is thus able to make a selection of a first category which they believe applies to each provided item of information, by interacting with (e.g. touching) the respective category option.
Step 930 is a step of receiving, from the user to which the one or more items of information were provided, via the user device, a selection of a first category for the provided one or more items of information. Such first category is a user-selected category and represents the user's opinion of (or reaction to) the one or more items of information. The user-selected category for each of the provided items of information is stored, e.g. in data store 1120, and optionally the display of the user device is updated according to the selected category option.
At step 940 a second category 1040 of the provided item of information is determined, based on a combination of the first category selections received from a plurality of users for the provided item of information, and based on the attributes associated with those users from which the first category selections were received. Further detail on how the second category is determined is given below.
At step 950, at least an identification 1043 of a selected one of the items of information is sent to a computing device (such as a device of a user, e.g. a mobile user device). In embodiments, the identification can comprise the item of information itself, or a reference or link to the item of information, or a summary of the item of information or a related headline. In addition to the identification, the determined second category 1040 for the selected one of the items of information is sent to the computing device. Both the identification and the second category are sent to the computing device for display to a user of the computing device. Optionally the sending is responsive to a request of the user of the computing device, or is responsive to browsing of the user of the computing device. Note that the device of the user and the computing device referred to in steps 920 and 950 are referred to herein by different names so as to differentiate between them, however they can be the same device or they can be different devices without limitation.
In embodiments, the second category is determined based on one or more pairs of (i) the attribute associated with a respective user of the one or more users from which the selection of a first category was received, and (ii) the first category received from that user, or a combination thereof. More specifically, user-selected categories received from a group of users having a particular attribute that is common to those users can be considered as a subset of the user-selected categories received from all users, and a most common user-selected category within that subset can be selected as the second category (e.g. the category which received the largest share of 'votes' from users). This can be termed a "clustering technique". The particular attribute can be selected by the user of the computing device, or for example the particular attribute can be automatically selected as being the same as the attribute 821 that is associated with the user 81 1 of the computing device. Thus, a user 811 of the computing device can choose to see a second category that has been selected (otherwise termed "segmented") on the basis of user-selected categories from a particular group of users (e.g. users associated with an attribute that marks them as company CEOs, or users who are in the UK, or users who are in the electronics manufacturing sector). The user 811 of the computing device can thus choose to see opinions from company CEOs, or from another group of users, or may be automatically presented with opinions from users associated with a similar attribute to that attribute with which the user of the computing device is associated (e.g. if the user of the computing device is an IT professional he or she may automatically be presented with opinions from other IT professionals). Optionally, the sending via the computing device further comprises sending an indication 1060 of the particular attribute, and/or a number of users in the group having that particular attribute, and/or an indication of the number of users 1042 who have selected a first category for that item of information.
Thus, when presented with an item of information, the user is provided with an easily-interpreted summary of the opinions of other users who have already studied the item of information. This can be considered to be provision of "contextual intelligence". This assists the user to decide whether or not the item of information is worth studying in detail, and thus the user is able to more easily pass over items of information that are not what they are looking for, expending less effort, and wasting less effort which would otherwise be expended in making an initial study of the item of information so as to allow the user to decide whether or not it is of interest. A corresponding reduction in the amount of data transferred over a network to the computing device is also realised, along with savings in device power, due to the user being able to more quickly determine which items of information are of interest and which are not of interest and so do not merit downloading.
In order to promote consistency and to reduce user effort still further, step 920 optionally further comprises providing a finite set of category options 1052 to the device of the one or more users, for display to the one or more users, in order that the user can more easily select a category, and in order that proliferation of similar category selections is avoided. Preferably the finite set of category options 1052 comprises a plurality of category options 1052 arranged in order, for example the plurality of category options ranging from a first category option that corresponds with a generally positive user opinion (e.g. "opportunity") to a second category option that corresponds with a generally negative user opinion ("e.g. risk"), and with zero or more category options
(such as a category option that corresponds with a generally neutral user opinion) arranged there-between in sequence. Thus, the available options for a user who wishes to react to or provide their opinion of an item of information is expanded, compared to a simple "like" button function. Optionally, each of the category options 1052 is associated with a corresponding graphical icon 1051 for display with the category options 1052 when a user is making a selection and/or when the second category 1040 is being provided to a user, wherein each graphical icon 1051 (for example, an "emoji" icon) conveys the meaning of the corresponding category option.
Optionally at step 960, the user of the computing device, after viewing the identification of the selected one of the items of information, makes their own (third) selection of a user-selected category which is stored and can be used to update the second category for that item of information by including the third selection with the first selections. Optionally, this is responsive to the user of the computing device interacting with the second category or with a related graphical element on a display of the computing device. Optionally the finite set of category options are provided to the computing device for display to the user of the computing device, from which they can make their selection.
Optionally one or both of: the item of information which is provided to a user at step 920, and the item of information which is selected at step 950, are selected according to the method of the first aspect as described with reference to Figures 1 to 7.
Figure 10 shows three display views such as those displayed on a device of a user in step 920 and/or displayed to a user of a computing device in step 950. In the third screen 1030, a number of items of information (such as news stories) are presented in summary form. These items of information can be selected according to the method described with reference to Figures 1 to 7. A user can interact with one of the summaries and in response to the interacting can be presented with a more detailed view of the item of information, as shown in display views 101 and 1020. Note that in display view 1030, there is provided a summary 1060 of the determined second category and the particular attribute of the group of users involved in determining the second category. For example, the second category may have been determined as
"opportunity" and the particular attribute may be "CEO", indicating that CEOs think that this item of information is an "opportunity". A suitable summary 1060 is provided accordingly.
As mentioned, upon execution of the method described with reference to Figure 9, a user is presented with an item of information, and is able to select a user-selected category for association with that item of information by interacting with (e.g. touching) the respective category option. Display view 1020 shows two category options 1052 of a finite set of category options 1050 provided to the user for selection from. The category options are provided with graphical icons 1051 that convey the meaning of each respective category option in an easily intelligible manner. Optionally (not shown), a number of users who have chosen each category option is also displayed against each category option. Thus sum of all of these numbers adds up to the total number of users who have provided a selection.
Once at least one user has provided their selection of a category for the item of information, as shown in display views 1010 and 1020, the determined second category 1040 is displayed, as well as the number 1042 of users who have provided a selection, and the corresponding graphical icon 1041 for the determined second category. Thus, the user is provided with a convenient way of providing their opinion of a particular item of information which involves low effort, and the user or another user is provided with a conveniently displayed, succinct and informative indication of the opinions of other users, which other users can be selected to have a specific attribute (and thus be a specific class of users) or can be automatically selected to be in a similar sector as the viewing user (by virtue of having a similar attribute to the viewing user). By virtue of this arrangement the viewing user is provided with information that helps him or her to quickly and easily determined whether or not the item of information is of interest, without having to spend as much effort as was previously required in making a preliminary study of the item of information so as to make that determination. Previously, effort expended in making such a preliminary study was often wasted, however such effort is now reduced and so the amount of user effort wasted, and the associated amount of device power and network resources required are also reduced.
The above-described advantages, and other advantages of the invention will be apparent to a skilled person from the description and drawings.
It will be further appreciated that the methods described herein can be carried out by one or more computing devices arranged to carry out said methods, and/or a computer program comprising program instructions that, when executed on one or more computers, cause the one or more computers to perform those methods. Furthermore, a computer read-able medium can store such program instructions.
Figure 1 1 shows a schematic diagram of a system 1 100 used to implement the methods described herein.
A server 11 10 is in communication with a database (data store) 1120, which in this example is a graph database but other types of database (e.g. relational) can be used. Examples of data stored in the data store include: names, IDs of information categories; registered information category experts, associations between information categories; user profiles of information category experts and other registered users; profile data for each registered user including name, biography, organisation/industry sector, role, picture; following and/or friend status for information categories and other users; information item content and metadata relating information items to information categories and user interactions. The server 1 110 is also in communication with a network 1150, which may be any kind of network suitable for transmitting or
communicating data. For example, the network 1150 could comprise one or more of a local area network, a wide area network, a metropolitan area network, the internet, a wireless communications network, a cable network, a digital broadcast network, a satellite communication network, a telephone network, etc. A plurality of mobile devices 1 130 associated with respective users are in communication with a base station 1 140, which may be a cellular base station or a WiFi or LiFi transceiver, for example, although other types of communications networks are possible. The base station 1 140 can communicate with the network 1150. Therefore, this provides a data communication interface between the server 1 110 and any or all of the mobile devices 1 130. It will be further appreciated that other communication scenarios are possible. For example, data may be provided via a physical medium (such as a CD, DVD, BluRay disc, etc.), in which case all or part of the network 1 150 may be omitted.
Each mobile device 1130 executes a mobile application which implements and enables the user associated with the respective mobile device 1 130 to interact with the methods described herein. This mobile application can retrieve data elements stored within database 1120 upon a request sent to the server 11 10 by the mobile device 1130.
The communications protocol used to transmit and receive such data can be any secure or insecure protocol or a packet protocol such as http or https, for example.
Referring to Figure 12, each of the devices 1 110, 1130 in Figure 1 1 may comprise one or more computer systems 1200, an example of which is schematically shown in Figure 12. By way of example, computer system 1200 comprises a computer
1202, which in turn comprises: a storage medium 1204, a memory 1206, a processor 1208, a storage medium interface 1210, a user output interface 1212, a user input interface 1214 and a network interface 1216, which are all linked together over one or more communication buses 1218. The skilled person will appreciate that some of these elements are option, depending on the functions required of the computer system 1200.
The storage medium 1204 may be any form of non-volatile data storage device such as one or more of a hard disk drive, a magnetic disc, an optical disc, a ROM, etc. The storage medium 1204 may store an operating system for the processor 1208 to execute in order for the computer 1202 to function. The storage medium 1204 may also store one or more computer programs (or software or instructions or code) that form part of an embodiment of the invention. The memory 1206 may be any random access memory (storage unit or volatile storage medium) suitable for storing data and/or computer programs (or software or instructions or code).
The processor 1208 may be any data processing unit suitable for executing one or more computer programs (such as those stored on the storage medium 1204 and/or in the memory 1206), some of which may be computer programs according to embodiments of the invention or computer programs that, when executed by the processor 1208, cause the processor 1208 to carry out a method according to an embodiment of the invention and configure the system 1200 to be a system according to an embodiment of the invention. The processor 1208 may comprise a single data processing unit or multiple data processing units operating in parallel or in cooperation with each other. The processor 1208, in carrying out data processing operations for embodiments of the invention, may store data to and/or read data from the storage medium 1204 and/or the memory 1206.
The storage medium interface 1210 may be any unit for providing an interface to a data storage device 1222 external to, or removable from, the computer 1202. The data storage device 1222 may be, for example, one or more of an optical disc, a magnetic disc, a solid-state-storage device, etc. The storage medium interface 1210 may therefore read data from, or write data to, the data storage device 1222 in accordance with one or more commands that it receives from the processor 1208.
The user input interface 1214 is arranged to receive input from a user, or operator, of the system 1200. The user may provide this input via one or more input devices of the system 900, such as a mouse (or other pointing device) 1226 and/or a keyboard 1224 or touchscreen. The computer 1202 may store the input received from the input devices via the user input interface 1214 in the memory 1206 for the processor
1208 to subsequently access and process, or may pass it straight to the processor 1208, so that the processor 1208 can respond to the user input accordingly.
The user output interface 1212, if required, is arranged to provide a
graphical/visual and/or audio output to a user, or operator, of the system 1200. As such, the processor 1208 may be arranged to instruct the user output interface 1212 to form an image/video signal representing a desired graphical output, and/or an audio signal representing a desired audio output, and to provide these signals to a display 1220 and/or one or more speakers 1221.
Finally, the network interface 1216 provides functionality for the computer 1202 to download data from and/or upload data to one or more data communication networks (such as the network 1150 of figure 1 1). It will be appreciated that the architecture of the computer system 1200 illustrated in figure 12 and described above is merely exemplary and that other computer systems 1200 with different architectures (for example with fewer components than shown in figure 12 or with additional and/or alternative components than shown in figure 12) may be used in embodiments of the invention.
Embodiments of the invention may be carried out on any suitable data processing device, such as a server computer, personal computer, laptop, personal digital assistant, mobile telephone, set top box, television, etc. Furthermore, user devices may be embodied as one or more of a mobile telephone, a tablet, a laptop, a television set, a set top box, a games console, a personal computer, a server computer, other mobile devices or consumer electronics devices, etc.
It should be noted that the described and illustrated logical devices / functional blocks may in some embodiments be integrated with one or more other logical devices / functional blocks. Thus, the described separation of functionality and processing between the described elements is purely conceptual and is presented herein merely for ease of explanation. It will be further appreciated that although the methods described have been shown as individual steps carried out in a specific order, the skilled person will appreciate that these steps may be combined or carried out in a different order whilst still achieving the desired result.
It will also be appreciated that the above-mentioned functionality may be implemented as one or more corresponding modules as hardware, firmware and/or software, or a mixture of all of these forms. For example, the above-mentioned functionality may be implemented as one or more software components for execution by a processor of the system, one or more field-programmable-gate-arrays (FPGAs), one or more application-specific-integrated-circuits (ASICs), one or more digital-signal- processors (DSPs), and/or other hardware arrangements.
It will be appreciated that, insofar as embodiments of the invention are implemented by a computer program, then a storage medium and a transmission medium carrying the computer program form aspects of the invention. The computer program may have one or more program instructions, or program code, which, when executed by a computer carries out an embodiment of the invention. The term
"program," as used herein, may be a sequence of instructions designed for execution on a computer system, and may include a subroutine, a function, a procedure, a module, an object method, an object implementation, an executable application, an applet, a servlet, source code, object code, a shared library, a dynamic linked library, and/or other sequences of instructions designed for execution on a computer system. The storage medium may be a magnetic disc (such as a hard drive or a floppy disc), an optical disc (such as a CD-ROM, a DVD-ROM or a BluRay disc), or a memory (such as a ROM, a RAM, EEPROM, EPROM, Flash memory or a portable/removable memory device), etc. The transmission medium may be a communications signal, a data broadcast, a communications link between two or more computers, etc.
As will be appreciated by the skilled person, details of the above embodiment may be varied without departing from the scope of the present invention, as defined by the appended claims. Many combinations, modifications, or alterations to the features of the above embodiments will be readily apparent to the skilled person and are intended to form part of the invention. Any of the features described specifically relating to one embodiment or example may be used in any other embodiment by making the appropriate changes.

Claims

1. A computer-implemented method for providing data to a user, the method comprising:
accessing one or more data stores comprising
a plurality of items of information, each item of information associated with one or more information categories, and
data describing one or more users including associations with one or more other users and associations with the one or more information categories;
determining, a relevance score for each item of the plurality of items of information with respect to a first user, by determining, based on the data describing the first user, one or more of
(i) a novelty score indicating a likelihood that the first user has not already encountered the item of information,
(ii) an applicability score indicating a likelihood that the particular item of information will be relevant to what a user is looking for, and
(iii) an authority score indicating a likelihood that the respective item of information is accurate;
selecting one or more of the items of information based on their respective relevance scores; and
sending the selected one or more items of information to a device of the first user, wherein the one or more items of information are provided to the first user.
2. The method of claim 1 wherein the selecting is responsive to a request by the first user.
3. The method of claim 1 or 2 wherein the selecting comprises ordering the selected items of information according to their respective relevance scores such that items of information with higher scores are ordered first.
4. The method of any preceding claim wherein the relevance score is based on a combination of two or more of the novelty, applicability and authority scores, and optionally wherein the combination is a multiplication operation.
5. The method of any preceding claim wherein each information category relates to a respective topic area.
6. The method of any preceding claim wherein the one or more data stores are implemented as a graph database comprising a plurality of vertices which are linked by one or more edges,
wherein each of the items of information, each information category, and each user corresponds to a vertex, and wherein
each of the items of information is associated with the one or more information categories by a respective first link corresponding to an edge,
each of the one or more users is associated with the one or more other users by a respective second link corresponding to an edge, and
each of the one or more users is associated with the one or more of the information categories by a respective third link corresponding to an edge.
7. The method of claim 6 wherein each graph database is implemented according to one of the following schemes:
by using an adjacency list wherein vertices are stored as records or objects, and for each vertex there is stored a list of adjacent vertices;
by using an adjacency matrix which is a two-dimensional matrix, wherein rows represent source vertices and columns represent destination vertices; and
by using an incidence matrix which is a two-dimensional Boolean matrix, wherein rows represent vertices, columns represent edges, and matrix entries indicate whether the vertex of a particular row is incident to an edge of a particular column.
8. The method of claim 6 or 7 wherein the data describing the one or more users further includes a record of past interactions of the one or more users with the one or more items of information, and wherein each past interaction associates the one or more users with the one or more of the items of information by a respective fourth link corresponding to an edge.
9. The method of any one of claims 6 to 8 wherein determining a relevance score comprises determining a distance of the respective item of information from the first user, wherein the distance is based on a number of edges in a path between the respective item of information and the first user.
10. The method of claim 9 wherein the path between the respective item of information and the first user is a shortest path between the respective item of information and the first user.
1 1 . The method of claim 9 wherein determining a relevance score further comprises determining a strength of each link, which links correspond to edges.
12. The method of claim 1 1 wherein the strength of the second links between first and second users is determined based on an attribute corresponding to whether the first user is following the second user, and/or vice-versa, wherein:
mutual following indicates a highest strength;
unilateral following indicates a medium strength; and
no following indicates a weakest strength.
13. The method of claim 12 wherein a longer time elapsed since the following attribute was established indicates a lowered strength.
14. The method of any one of claims 1 1 to 13 wherein the strength of the third links between the one or more users and one of the one or more information categories is based on a type of the association between the one or more users and that information category, wherein the type corresponds to one of:
a lowest strength wherein the user is not interested in the information category; a medium-low strength wherein the user is interested in the information category; a medium-high strength wherein the user is an expert in the information category; and
a highest strength wherein the user is a thought-leader in the information category.
15. The method of any one of claims 1 1 to 14 when dependent on claim 8, wherein the strength of the fourth links between the one or more users and the one or more of the items of information corresponds to one of the following ordered range from:
a lowest strength wherein the user has not interacted with the item of information; a next successive strength wherein the user has been shown the item of information;
a next successive strength wherein the user has read the item of information; a next successive strength wherein the user has liked the item of information; a next successive strength wherein the user has commented on the item of information; to
a highest strength wherein the user has posted the item of information.
16. The method of any preceding claim wherein the novelty score is inversely based on a strength of association between: the first user and the respective item of information.
17. The method of any preceding claim wherein the novelty score is inversely based on an amount of prior interaction of the first user with the particular item of information.
18. The method of any one of claims 6 to 15 wherein the novelty score is based on, for a path comprising one or more edges between the first user and the respective item of information, a number of edges in the path and the strength of each link, which links correspond to edges.
19. The method of claim 18 wherein the novelty score is related to a sum of the inverse of the respective strengths corresponding to each link in the path.
20. The method of claim 18 wherein the path is a shortest path between the first user and the respective item of information.
21. The method of claim 20 when dependent on claim 8 wherein the shortest path comprises one of the fourth links comprising a single edge between the first user and the respective item of information.
22. The method of any preceding claim wherein the applicability score is based on co-association of the first user and the particular item of information with a common information category.
23. The method of claim 22 wherein the applicability score is further based on a strength of association between the first user and an information category with which the particular item of information is associated, and/or based on a strength of association between the particular item of information and the information category.
24. The method of claim 23 wherein the strength of association between the first user and the information category with which the particular item of information is associated is based on an amount of prior interaction of the first user with one or more items of information which are associated with that information category.
25. The method of any one of claims 6 to 15 and 18 to 21 , wherein the applicability score is based on, for a path comprising an information category associated with both the first user and the respective item of information, a number of edges in the path and the strength of each link, which links correspond to edges.
26. The method of claim 25 wherein the applicability score is inversely related to the length of the path between the item of information and the first user and comprising the information category, wherein the effective length of each link in the path is diminished by its respective strength.
27. The method of claim 25 wherein the path comprising the information category is a shortest path between the first user and the respective item of information.
28. The method of claim 25 to 27 wherein the relevance score is based on a combination of a plurality of applicability scores, each relating to a different information category of a set of information categories which are associated with the first user.
29. The method of any preceding claim wherein the authority score is based on an authority rating of a second user via whom the respective item of information is linked to the first user, wherein the authority score relates to a likelihood of items of information coming to the first user via the second user being accurate.
The method of claim 29 wherein the authority score is based on one or more of: a personal authority score for the second person with respect to the first user; a community authority score for the second person with respect to the first user.
31. The method of claim 30 when dependent on any one of claims 6 to 15, 18 to 21 and 25 to 28, wherein the personal authority score is based on, for a path comprising one or more edges between the first user and the second user, a number of edges in the path and the strength of each link corresponding to an edge.
32. The method of claim 31 wherein the path between the first user and the second user is a shortest path between the first user and the second user.
33. The method of claim 31 wherein the personal authority score is inversely related to the length of the path between the first user and the second user, wherein the effective length of each link in the path is diminished by its respective strength
34. The method of any one of claims 30 to 33 when dependent on any one of claims 6 to 15, 18 to 21 and 25 to 28, wherein the community authority score is based on: a number of other users who are associated with (i) the second user and (ii) with a same information category with which the respective item of information is associated;
compared with a highest number of other users who are associated with any other user associated with that information category.
35. The method of claim 34 wherein the community authority score is further based on the strength of each association between each respective other user and the second user.
36. The method of any one of claims 29 to 35 wherein the authority score is further based on a strength of association between the second user and an information category with which the particular item of information is associated.
37. The method of any one of claims 29 to 36 wherein the authority score is further based on an amount of prior interaction of the second user with the particular item of information.
38. The method of any preceding claim further comprising:
receiving from a particular user a selection of an information category; and updating the data describing the one or more users so as to associate the particular user with the selected information category.
39. The method of any preceding claim further comprising:
receiving from a particular user a selection of another user who the particular user wishes to be associated with; and updating the data describing the one or more users so as to associate the particular user with the other user.
40. The method of any one of claims 8 to 39 further comprising:
receiving an indication of an interaction of one of the one or more users with one or more of the items of information; and
updating the data describing the one or more users with a record of the interaction so as to associate the one or more users with the one or more items of information.
41. The method of any preceding claim further comprising: in response to a request by the first user, retrieving data relevant to the request from one or more data stores.
42. A computer-implemented method for providing data to a user, the method comprising:
accessing a data store comprising one or more items of information and one or more attributes, each attribute associated with a respective user of one or more users; providing at least one of the items of information to a device of a user of the one or more of users;
receiving, from the user to which the information was provided, via the device, a selection of a first category for the provided item of information;
determining a second category of the provided item of information, based on a combination of said first category selections received from a plurality of the users for the provided item of information, and based on the attributes associated with those users from which the first category selections were received; and
sending via a computing device for display to a user of the computing device, an identification of a selected one of the items of information, along with the determined second category for the selected item of information.
43. The method of claim 42 wherein the first category represents the respective user's opinion of the provided item of information.
44. The method of any one of claims 42 to 43 wherein the second category is determined based on one or more pairs of (i) the attribute associated with a respective user of the one or more users from which the selection of a first category was received, and (ii) the first category received from that user.
45. The method of any one of claims 42 to 44 wherein the providing further comprises providing a finite set of category options to the device of the user for display to the one or more of the users and for selection therefrom, and wherein the second category is determined based on a category that was selected by a majority of users out of a set of users comprising those users from which the selections of a first category were received.
46. The method of claim 45 wherein the set of users is a subset of those users from which the selections of a first category were received, the subset consisting of users which are associated with a similar attribute.
47. The method of claim 46 wherein the similar attribute is also similar to the attribute associated with the user of the computing device.
48. The method of claim 46 wherein the similar attribute is selected by the user of the computing device.
49. The method of any one of claims 42 to 48 wherein the sending is responsive to a request received from the user of the computing device.
50. The method of claim 49 further comprising: responsive to the request, returning via the computing device for display to the user of the computing device, an indication of that attribute which is the same for the subset of users.
51 . The method of any one of claims 49 to 50 further comprising, responsive to the request, sending via the computing device for display to the user of the computing device, an indication of the number of users who have selected a first category.
52. The method of any one of claims 42 to 51 further comprising, responsive to the user of the computing device interacting with the returned second category on the computing device:
providing the finite set of category options to the computing device for display to the user of the computing device;
accepting from the user of the computing device a selection of a third category for the selected item of information; and
updating the second category of the selected item of information, according to the step of determining a second category, by including the third category in the first category selections for the selected item of information.
53. The method of any one of claims 45 to 52 wherein the finite set of category options comprises a plurality of categories arranged in order and ranging from a positive category option to a negative category option.
54. The method of claim 53 wherein each of the finite set of category options is displayed with a corresponding icon conveying the meaning of the respective category.
55. The method of any one of claims 42 to 54 wherein the attribute associated with each respective user relates to one or more of the following: their level within an organisation, the geographical location, and their industry sector.
56. The method of any one of claims 42 to 55 wherein the selected one of the items of information is selected according to the method of any one of claims 1 to 36.
57. A computing device arranged to carry out a method according to any one of the preceding claims.
58. A computer program comprising program instructions that, when executed on one or more computers cause the one or more computers to perform the method of any one of claims 1 to 56.
59. A computer-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to carry out the method according to any one of claims 1 to 56.
PCT/GB2016/053764 2015-12-30 2016-11-30 A method for providing contextual intelligence WO2017115065A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1523100.4A GB201523100D0 (en) 2015-12-30 2015-12-30 A method for providing contextual intelligence
GB1523100.4 2015-12-30

Publications (1)

Publication Number Publication Date
WO2017115065A1 true WO2017115065A1 (en) 2017-07-06

Family

ID=55359209

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2016/053764 WO2017115065A1 (en) 2015-12-30 2016-11-30 A method for providing contextual intelligence

Country Status (2)

Country Link
GB (1) GB201523100D0 (en)
WO (1) WO2017115065A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307478A1 (en) * 2007-11-02 2011-12-15 Thomas Pinckney Geographically localized recommendations in a computing advice facility
US8645393B1 (en) * 2011-04-15 2014-02-04 Google Inc. Ranking clusters and resources in a cluster

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307478A1 (en) * 2007-11-02 2011-12-15 Thomas Pinckney Geographically localized recommendations in a computing advice facility
US8645393B1 (en) * 2011-04-15 2014-02-04 Google Inc. Ranking clusters and resources in a cluster

Also Published As

Publication number Publication date
GB201523100D0 (en) 2016-02-10

Similar Documents

Publication Publication Date Title
US10318538B2 (en) Systems, methods, and apparatuses for implementing an interface to view and explore socially relevant concepts of an entity graph
US10311478B2 (en) Recommending content based on user profiles clustered by subscription data
US9189551B2 (en) Method and apparatus for category based navigation
RU2632100C2 (en) Method and server of recommended set of elements creation
AU2014259978B2 (en) Tagged search result maintenance
CN110383772A (en) Technology for information receiving and transmitting machine people's rich communication
JP2015201157A (en) Dynamic content recommendation system using social network data
US9558270B2 (en) Search result organizing based upon tagging
US10826953B2 (en) Supplementing user web-browsing
US20230113420A1 (en) Predicting accuracy of submitted data
CN112292675A (en) Assisting a computer to interpret native language input with prominence ranking of entities and tasks
US9542495B2 (en) Targeted content provisioning based upon tagged search results
US20170193059A1 (en) Searching For Applications Based On Application Usage
US10936584B2 (en) Searching and accessing application-independent functionality
US11113345B2 (en) Method and system for providing contextual electronic content
US9547713B2 (en) Search result tagging
US20160188721A1 (en) Accessing Multi-State Search Results
US20170103073A1 (en) Identifying Expert Reviewers
CA2842213C (en) Method and apparatus for category based navigation
US10445326B2 (en) Searching based on application usage
WO2017115065A1 (en) A method for providing contextual intelligence
KR102167690B1 (en) Mediating method and device

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: 16808755

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16808755

Country of ref document: EP

Kind code of ref document: A1