WO2017212269A1 - Data processing system and data processing method - Google Patents
Data processing system and data processing method Download PDFInfo
- Publication number
- WO2017212269A1 WO2017212269A1 PCT/GB2017/051658 GB2017051658W WO2017212269A1 WO 2017212269 A1 WO2017212269 A1 WO 2017212269A1 GB 2017051658 W GB2017051658 W GB 2017051658W WO 2017212269 A1 WO2017212269 A1 WO 2017212269A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- display
- affinity
- entity
- sub
- entities
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 238000003672 processing method Methods 0.000 title description 2
- 230000003247 decreasing effect Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims description 156
- 238000004891 communication Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 13
- 230000001419 dependent effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 claims description 4
- 239000007787 solid Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 82
- 238000010586 diagram Methods 0.000 description 33
- 238000003058 natural language processing Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004886 process control Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 101000610551 Homo sapiens Prominin-1 Proteins 0.000 description 1
- 102100040120 Prominin-1 Human genes 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000008185 minitablet Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000003826 tablet Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
Definitions
- the present disclosure relates to a data processing system and a method of operating a data processing system.
- the present disclosure relates to mobile communications devices and network devices incorporating data processing systems.
- Data processing systems for analysing amounts of data are known of which one type, referred to as knowledge based information retrieval and presentation, is a newly emerged technology in the fields.
- knowledge based information retrieval and presentation is a newly emerged technology in the fields.
- Several systems have used this method to improve the relevance of retrieved data to a search query input to the system by a user and or give users structured output of the data retrieved in response to a search query.
- Google, Inc. announced a system referred to as a "Knowledge Graph" in 2012, and started to include knowledge graph in their search results in the same year.
- Data items of any type of media, document, audio or video for example are referred to as entities or data entities hereinafter.
- Figure 1 is a screen shot of Wikipedia's article mode presentation of a data entity corresponding to the 2010 film "The Social Network" distributed by Columbia Pictures.
- Figure 2 is a screen shot of the right hand side of Google search results utilizing Knowledge Graph to form another data entity corresponding to the film "The Social Network”.
- Figure 1 most of the existing works are focused on helping keyword searches to be more accurate and provide users direct basic properties of a searched entity. Although the basic information is essential to an entity, it will be much more attractive to users if a system can provide much more inspiring related entities.
- Microsoft's Bing 8 and Yahoo ! ® search used similar displays in their searches. So far, most internet applications display knowledge in a similar format.
- Figure 2 is an illustrative example representative of such graph- based displays. Although this visualization is useful, it's usually slow to compute and is not suitable to be used to serve an end-user's runtime queries. Additionally, such a representation tends to cover many if not all connected entities instead of only the most relevant entities for a user query. Usually an entity has more than 100 connected entities, which is almost impossible to directly display to end users, especially after expanding to multiple entities as illustrated in Figure 4.
- the display of data entities illustrated in Figure 4 is used as a demonstration of knowledge graph usage in graph databases and research projects.
- each entity usually has many more related entities, and often multi-level connections are used; moreover, none of the graph database tools analyse relevance sufficiently well to filter out non-important connections. Therefore, the display form illustrated in Figure 4 is not used in end-user facing real time applications and even in knowledge database themselves. All knowledge database graph tools still use the display form illustrated in Figure 3 in research applications.
- an entity may be considered to comprise content, that is to say information about something; text; an image; a video; an audio file; links to other entities etc.
- the content may have different aspects; things that are part of the content but concern or relate to different things from each other.
- the content may be considered to consist of content elements where a content element is one or more parts of an entity forming a semantically coherent or meaningful part and includes parts of audio, image and video as well as text.
- Mobile communications devices are becoming increasingly sophisticated in their flexibility for providing different communication modes and in their processing power and are as much mobile computing devices as communications devices.
- Mobile communications devices are by nature relatively compact and usually have limited display capacity. Additionally, they are often controlled by a user using one hand. Therefore there is a need to provide an interface which is very clear even on a small display screen and susceptible to simple command input gestures.
- a communications device will have a processing resource including one or more processor in which a number of applications are capable of running, different applications being required for different modes of communication, such as an email application being required to send email and an instant messaging application being required to send instant messages.
- a further application may also provide a directory service for locating contact information for entities providing services.
- a communications device provides a user interface enabling a user to select which of the features of the communications device they wish to use such as telephone features providing a choice of communicating with a destination call party via anyone of a number of communication modes such as cellular wireless network, VOIP (Voice Over Internet Protocol) and UMA (Unregistered Mobile Access).
- the destination call party which may either be an individual or an enterprise, may have a number of options for receiving communication via each mode. For example, an individual may have a work telephone number, a home telephone and a mobile telephone number and a SKYPE number. Each of these numbers is typically stored in the address book in the communications apparatus.
- the user interface may be utilised by a user to invoke applications the other communications service or to provide other services such as map services and search services, often utilising access to a network such as the internet to communicate with servers providing such services or at least supporting such services by providing appropriate data.
- a data processing system comprising a processor resource configured to provide:
- a display module operative to provide signals for a display screen to generate a display structure on a display screen comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure;
- a data processing system to provide display signals to a display screen, the method comprising:
- generating a display structure comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure
- generating a subject entity display signal to display a subject entity icon representative of said current entity at said reference point of said display structure in a display pose of a degree of prominence corresponding to said reference point of said display structure;
- One or more aspects or embodiments in accordance with the present invention may provide users with a display interface showing the most relevant and related entities to an entity they are reviewing and provide them with access to reasons why they are related to the entity of interest.
- An affinity based relevance system in accordance with one or more aspects or embodiments of the present invention may compute relevance or affinity values either at runtime or through pre-computing.
- the real time user experience may therefore be fast, possibly giving the appearence or sense of real-time, and relevant.
- the system and method of computing affinities and generating short reasons for the relationships are also disclosed.
- the prominence of the pose has utility in that the user's eye is first drawn to the most relevant pose. This enables the user to immediately understand the nature of the information obtained by "pressing" the pose. There is no need to read any further.
- Data representative of a plurality of affinity entities each associated with an affinity value may be provided such that said first sub-set display signal may be provided to said display screen to display a corresponding plurality of icons each representative of respective ones of said plurality of affinity entities in respective display poses of a degree of prominence corresponding to respective affinity values associated with respective ones of said plurality of affinity entities and said subject entity.
- Such a display provides a clear indication of the relevance of affinity entities to the subject entity. This may also produce a graphical summary not only of the entity but allows a user to understand "at a glance" affinity entities i.e. understand context.
- a first sub-set of said affinity values may be determined satisfying a first criterion for displaying icons representative of a first sub-set of respective affinity entities associated with affinity values in said first sub-set in a display pose of a first decreased degree of prominence; and a first sub-set display signal provided to display said respective icons representative of each of said first sub-set of affinity entities with said first decreased degree of prominence.
- Such decreased degree of prominence assists in discriminating relevant affinity entities from the subject entity.
- Such a feature may allow a user to obtain the most relevant information by "pressing" the most prominent icon therefore making it easy for them to navigate and identify information of interest and relevance to them.
- a second sub-set of said affinity values may be determined satisfying a second criterion for displaying icons representative of a second sub-set of respective affinity entities associated with affinity values in said second sub-set in a display pose of a second decreased degree of prominence; and a second sub-set display signal provided to display said respective icons representative of each of said second sub-set of affinity entities with said second decreased degree of prominence.
- the processor resource and method may be further configured to be responsive to user input to select a one of said icons representative of an affinity entity of said first or second subset of affinity entities to select said affinity entity and retrieve for display relationship information concerning a relevancy of said selected affinity entity to said subject entity.
- Such a feature may provide an ergonomic benefit in the input can be delivered by user using a device held in the hand and their thumb to perform selection.
- the processor resource and method may be further configured to be responsive to a second user input to assign said selected affinity entity as a new subject entity and further configured to:
- each one of said third sub-set being a third affinity entity comprising a third affinity value associated with said third affinity entity and said new subject entity and wherein said third affinity value satisfies a criterion for displaying respective icons representative of each said third sub-set of third affinity entities in a display pose of said first decreased degree of prominence;
- the processor resource and method may be further configured to:
- each one of said fourth sub-set comprising a fourth affinity value associated with said new subject entity and wherein said fourth affinity value satisfies a criterion for displaying respective icons representative of each said fourth sub-set of third affinity entities in a display pose of said second degree of decreased prominence;
- a benefit of a user interface utilising the aforementioned two features is that a broader array of relevant information can be displayed on a smaller screen.
- the processor resource and method may be further configured to generate said display structure to comprise a series of concentric display contours each display contour defining display poses of decreasing degree of prominence in a direction away from said reference point of said display structure. This provides an ergonomic benefit in that concentric display contours match the Rotary movement of a thumb when holding a mother computing device such as a smart phone in one hand.
- the processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of said first sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence.
- This feature may assist in making it quicker to provide user input if a first sub- said is the closest access from all relevant information as it is the place a user is most likely to want to go to.
- the processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of said third sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence. Again, this places relevant information in the appropriate physical location for ease of access for a user according to the likelihood of them wishing to use it.
- the processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of each of said second sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
- the processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of each of said fourth sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
- said series of concentric display contours are circular shaped or polygonal shaped.
- Such an arrangement is biologically economically beneficial in that it most closely matches the shape of a human thumb which is the digit most frequently used to operate a handheld device.
- the processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said first subset of affinity entities at respective vertices of a first polygonal display contour.
- the processor resource and method may be further configured to provide display signals for a display screen to display said second sub-set of affinity entities at respective vertices of a second polygonal display contour.
- the processor resource and method may be further configured to provide display signals for a display screen to display said third subset of affinity entities at respective vertices of a first polygonal display contour.
- the processor resource and method may be further configured to provide display signals for a display screen to display said fourth sub-set of affinity entities at respective vertices of a second polygonal display contour.
- Such an arrangement as described above relating to various polygonal displays balances the quantity of entities displayed on a screen (i.e. more information) and the economic usability.
- the processing resource and method may be further configured to provide an updated affinity value for an affinity entity associated with said subject entity.
- Such feature represents relevant information in the appropriate context been display to a user.
- the processing resource and method may be further configured to provide an affinity engine operative to provide an updated affinity value for an affinity entity associated with said new subject entity.
- the processor resource may comprise two or more processors. Moreover, the two or more processors may be at different locations.
- a computing device comprising a display screen and a data processing system configured and operating as set out above.
- a computing device may receive said signals for a display screen for displaying icons on said display screen according to said signals.
- the computing device may be a mobile computing device comprising a wireless communications module.
- Figure 1 illustrates a Wikipedia ® article mode presentation of a data entity
- Figure 2 illustrates a search engine's presentation of data results using a knowledge graph
- Figure 3 illustrates presentation of data entities using a knowledge database graph tool
- Figure 4 illustrates presentation of data entities which have been expanded to include multiple entities using knowledge graph presentation
- FIG. 5 illustrates a block diagram of a communications device and network elements in accordance with an embodiment of the invention
- FIG. 6 illustrates a block diagram of an affinity server and data entities in accordance with an embodiment of the invention
- Figure 7 is a schematic illustration of the structured content of a network entity
- Figure 8 is a schematic illustration of a system entity in accordance with an embodiment of the present invention.
- FIG. 9 is a process flow control diagram for the execution of the affinity entity ID module in accordance with an embodiment of the present invention.
- Figure 10 is a process flow control diagram for the execution of the system entity module in accordance with an embodiment of the present invention.
- FIG. 11 is a process flow control diagram for the execution of the affinity determination module in accordance with an embodiment of the present invention.
- Figure 12 is a process flow control diagram for the execution of step 332 of the affinity determination module in accordance with an embodiment of the present invention
- Figure 13 is a process flow control diagram for the execution of step 334 of the affinity determination module in accordance with an embodiment of the present invention
- Figure 14 is a process flow control diagram for the execution of step 336 of the affinity determination module in accordance with an embodiment of the present invention.
- FIG. 15 is a process flow control diagram for the execution of step 338 of the affinity determination module in accordance with an embodiment of the present invention.
- Figure 16 is a process flow control diagram for the execution of step 340 of the affinity determination module in accordance with an embodiment of the present invention.
- Figure 17 is a process flow control diagram for the execution of the display pose engine module in accordance with an embodiment of the present invention.
- FIG. 18 is a process flow control diagram for the execution of the affinity engine module in accordance with an embodiment of the present invention.
- Figure 19 is a short description of the movie "The Social Network” in accordance with an embodiment of the present invention.
- Figure 20 is a presentation of the facts of the movie "The Social Network” in accordance with an embodiment of the present invention.
- Figure 21 illustrates an entry screen for the entity "The Social Network” display the most relevant affinity entities related to the entity "The Social Network”;
- Figure 22 illustrates a screenshot from moving and focusing on an affinity entity ("Mark Zuckerberg”) in accordance with an embodiment of the present invention
- Figure 23 illustrates a "snippet" in accordance with an embodiment of the present invention
- Figure 24 illustrates a screen shot following a user selecting "see more” on affinity entity "Mark Zuckerberg”
- Figure 25 is an example of a system data entity in accordance with an embodiment of the present invention.
- a system and method for computing affinity scores between data entities so as to derive and identify relevant entities of a data entity is achieved by analysing one directional entity-entity relationships and computing affinity scores.
- the analysis and computation may identify entities having affinity between them or utilise a graph based knowledge base in which different features of an entity such as an entity's popularity, importance in related Wikipedia articles or other text based articles, language based analysis, popularity and correlations in traffic and other social media, are combined to get final affinity scores.
- the affinity scores are then used to select and sort only relevant and important related entities from regular user point of views.
- the present disclosure also teaches a system and method to display only the most relevant information concerning a data entity to a user through graph-based displays with representative images or short names.
- the information includes an introduction, important facts, useful services, and related entities.
- Related entities are automatically selected from an "entity affinity computing system" to include only the most relevant entities.
- Short reasons, called snippets, are included in at least some related entities to explain why each of them is related to the main or subject entity.
- Multi-media entities such as sound, video, and 3-D animations, are also used in the display method. This presentation method can be used in desktop and laptop computers, smart phones, and smart portable devices.
- FIG. 5 illustrates a block diagram of a communications device 100, according to one embodiment.
- the communications device 100 is connectable via network connection over a communications network 101 to a number of servers 101, 130 through to 130n.
- the communications device 100 includes a computer memory 103, a processor 104, an RF (Radio Frequency) interface 105, a screen 106, a keyboard 107, a microphone 108 a speaker 109, a bluetooth interface 110, an infrared interface 111, connectors 112, a network interface 113 and a data bus 125,
- RF Radio Frequency
- a number of application programs 114 are stored in computer memory 103. Respective contacts databases 115 of the communication application programs 114 store details of the contacts that are associated with the respective communications application programs.
- a communications application program 114 corresponding to email mode of communication would include a contact database consisting of email addresses and contact identifiers.
- computer memory 106 also comprises an update data entity affinity computing system and display application program 123 including a display pose engine 118 configured to determine a display configuration for subject data entity and a plurality of data entities, the display configuration representative of the relevance of those data entities to the subject data entity.
- Application program 123 comprises an affinity engine 119 configured to determine or at least modify the relevance values of data entities one to the other based on current network activity of the data entities.
- Affinity engine engine 119 communicates with application programming interface (API) 120 which is configured to initiate searches for and receive data on current network activity of data entities and provide the data to the affinity engine 119 to assess a current relevancy score for the data entities to the subject entity.
- API application programming interface
- Application program 123 also comprises a user interface for providing signals to screen 106 to display a user interface on screen 106.
- Application program 123 comprises computer program elements, such as instructions, executable by processor 104 to configure it to perform the various functions and activities of the application 123 such as the display pose engine 118, affinity engine 119, API 120 and user interface
- a key handler 116 comprising a software module configured to respond to keyboard 110 generated events.
- the key handler 116 provides appropriate inputs to the applications 114 and to a control module 117 that provides overall control of the processes leading to initiation of one or more applications 114 and 123.
- the memory 103 also includes an entity relationship database 121 and an entity database 122 to provide a local store for entity relationships and the entities themselves.
- the device 100 may communicate with servers 102, 130(1)...130(n) (hereinafter collectively 130) via a network 101.
- the affinity server 102 is a server dedicated to identifying data entities, for example on or through servers 130, relevant to a subject entity and may also process such data entities to determine their level of relevance to a subject entity. In this regard, the processing of data entities and information about them may be undertaken in one or other of the affinity engine 119 and the affinity server 102 and indeed may also be shared between them.
- affinity engine 119 is primarily, if not exclusively, for determining or modifying relevancy values based on current network activity in response to a search request for an entity already existing in the system and updating attributes of that entity.
- the affinity server 102 includes an entity affinity computing system 146 comprising a server API 148; a server processor resource 150; an affinity entity identity module 152 for identifying entities having potential relevancy with a subject entity; and affinity determination module 154 for determining an overall affinity of an affinity entity with a subject entity in dependence on the different attributes.
- the entity affinity computing system 146 also comprises a "snippet" module 158 for identifying and extracting text from network sources and formulating a description of the relevancy of an affinity entity to the subject entity including forming "snippets" of information describing or providing information showing why and how an entity is relevant to subject entity.
- the entity affinity computing system 146 also comprises a system entity store 156 that stores information on and about data entities in a format adapted for the system 146.
- the affinity engine 119 and entity affinity computing system 146 together may be considered to form an overall entity affinity computing system including both off-line processing in entity affinity computing system 146 and processing of current network activity of entities to update relevancy and in that regard affinity engine may be considered to be on-line and providing "real-time" updating.
- Application 123 as well as entity affinity computing system 146 include program instructions operative when executed by respective processes 115 and 150 to provide overall management of the application and call respective modules as and when required. Additionally, such instructions also input and output through the user interface 121, API 120 and API 148.
- the servers 102 and 130 are merely illustrative and other servers and network coupled devices may also communicate with the device 100 and server 102.
- Such servers may, for example, comprise a Yahoo server, a Wikipedia server, a games server and a calendar server.
- references to a network and communication made above should be construed broadly to include many types of network and networks of networks, including the public service telephone network where appropriate, cable systems, wireless networks and the Internet.
- FIG 7 a network data entity 170 is illustrated setting out typical components that may be found in such a network data entity. It should be noted that any particular network data entity may not comprise all of the components illustrated in figure 7 or indeed may comprise more and this disclosure and respective embodiments of the present invention are not limited by what is illustrated in figure 7.
- a network data entity is envisaged to be anything accessible over a communications network and which contains some form of content. The content may be simply nothing more than a single word or phrase or it may be more complex and comprise a structured data element having headings, text, images linked audio files and video files for example.
- text 172 comprises a title or name for the entity; content elements such as one or more sentences or paragraphs; a first subtitle content elements relating to that subtitle; as well as a second subtitle and content relating to that second subtitle.
- Text 172 is illustrated in a structured manner to demonstrate the hierarchy that may be incorporated into such text.
- the hierarchical structure of the text may be established by a suitable markup language, for example HT L.
- a ⁇ font>... ⁇ /font> tag may specify a font face, font size and colour of the text;
- the heading tag pair ⁇ hn>... ⁇ /hn> may be used to denote the heading where "n" is a number from 1 to 6;
- the ⁇ b>... ⁇ /b> and ⁇ i>... ⁇ /i> tag pairs denote text that is respectively bold and italicised.
- Many other HTML tag pairs will be familiar to the person of ordinary skill in the art for denoting a particular type of text or content and distinguishing its presentation or prominence from that of text or content between other tag pairs of a different.
- a data entity may also comprise overlay text, 180, again suitably identified or formatted by an HTML tag pair.
- There may also be images, 174, possibly a clarity of images together with an image description.
- Audio may also be provided by way of a link to a network location at which the audio is stored or may comprise an audio file such as a brief sample of a piece of music, 176.
- a network data entity 170 may also comprise one or more links, 178, pointing to a corresponding number of network locations at which other data entities may be found.
- a link will be in the form of a uniform resource locator (URL) but may also be in the form of meaningful text, selection of which invokes the relevant URL.
- URL uniform resource locator
- Figure 8 illustrates a system data entity, 190, created in accordance with one or more embodiments of the present invention and which comprises various content elements set out in a format suitable for use in accordance with an embodiment of the present invention.
- the system entity includes text, 192 including a name or title of the system data entity together with a short description of the system data entity.
- the system data entity will include an image 194 which may be used as part of an icon for display on the screen representing the system data entity.
- a system data entity includes an affinity table, 196, which includes, in order of their relevance to that system data entity, a series of affinity entities "AEn” each having various attributes which in the illustrated embodiment includes an affinity value "AVn”; a network status value “NSn”; an in-link value “ILn”; an out-link value “OLn”; a prominence value “PROMn” a position value “POSn”; and a pointer to a snippet "SNIPn” containing brief text describing the relevance of the affinity data entity to system data entity.
- affinity table 196, which includes, in order of their relevance to that system data entity, a series of affinity entities "AEn” each having various attributes which in the illustrated embodiment includes an affinity value "AVn”; a network status value “NSn”; an in-link value “ILn”; an out-link value “OLn”; a prominence value “PROMn” a position value "POSn”; and a pointer to a snippet "SNIPn” containing brief text
- the affinity value is a value based on a combination of the various attribute values and is indicative of the relevance of the affinity data entity to the system data entity.
- FIG. 24 An example of a system subject data entity for "Michelle Obama” is illustrated in figure 24.
- Feature extractions A module to extract and compute important affinity features for each entity from structured and semi-structured data and representative articles.
- Representative articles include widely adopted articles, e.g., Wikipedia, Wikia, IMDB, Bloomberg company introductions, etc.
- Structured data includes widely adopted structured data from different data sources, e.g., IMDB, Bloomberg company profiles, product databases, etc.
- NLP Natural Language Processing
- Semi-structured data includes data from widely adopted knowledge graph databases, e.g., Wikidata, DBPedia, MusicBrainZ, etc.
- Entity importance level computing By computing each entity's incoming and
- entity's importance level is computed. This level represents how important the editor of each widely adopted article believes this entity
- Multi-level graph computing technologies are used to do the
- Emerging trends and breaking news computing by integrating with news agencies and based on editor's works, emerging trends and breaking news scores are also computed.
- the final score is a combination of the above scores
- un-time computed scores a search engine is built to quickly compute and combine pre-computed scores and real-time scores on emerging trends, breaking news, user preferences, location information, etc.
- the entity affinity computing system 146 comprises an affinity entity ID module 152 operative to identify one or more entities on either an open network such as the Internet or within the closed system in accordance with the present invention which have a relevance, also termed affinity, to a data entity undergoing processing and analysis, a so-called subject data entity.
- an affinity entity ID module 152 operative to identify one or more entities on either an open network such as the Internet or within the closed system in accordance with the present invention which have a relevance, also termed affinity, to a data entity undergoing processing and analysis, a so-called subject data entity.
- the computer implemented process described with reference to affinity entity ID module 152 and the process flow control diagram of figure 9 provides an automated process for identifying one or more data entities having some sort of relevance to the subject data entity and either instantiating a system data entity corresponding to the subject data entity and populating the recently instantiated system data entity or updating an existing system data entity corresponding to the subject data entity.
- affinity entity ID module 152 is initiated responsive to a subject content element being provided to the entity affinity computing system 146.
- the subject content element is typically provided responsive to system configuration input through API 148, during a system configuration mode in which a knowledge graph base is interrogated for data entities for example in response to a search query activated through mobile computing device 100.
- the user of mobile computing device 100 may instantiate a search or more particularly invoke an application program such as Blippar and record an image of a scene and request information concerning one or more features of that scene.
- the Blippar application having identified the one or more features may then input respective features into application program 123 in order to establish, identify or determine data elements in the knowledge graph that have relevant information or connection with the one or more identified features.
- affinity entity ID module receives a subject content element, which may be the name of something or a person or some other content about which there may be relevant information comprising data entities within one or more knowledge graphs accessible to entity affinity computing system 146.
- system entity store 156 is interrogated to determine whether or not a system entity corresponding to the input subject content element already exists within the entity affinity computing system 146. If no system data entity exists corresponding to the input subject content element system entity editor 151 is invoked. If a corresponding system data entity exists then process control flows to step 204. A description of the system entity editor 151 will be described in detail after describing the steps of the process flow control diagram figure 9.
- a search of the knowledge graph or graphs is initiated for data entities having the subject content element or a variant thereof within its contents.
- Such a search may take place over open networks such as the Internet to access remote knowledge graphs and/or the entity affinity computing system 146 such as inspecting the entities in system entity store 156.
- an entity having correspondence or relationship with another entity is identified by having an outgoing link to that entity.
- step 210 if the number of candidate entities is insufficient process flow returns to step 204 and a search the candidate entities is repeated until such time as a sufficient number identified in which case process flow proceeds to step 210.
- a particular threshold value process flow continues to step 210 otherwise process control returns to step 202 to await input of the next subject content element.
- the next stage of determining whether not something may be a relevant data entity is how the subject content element is used and in particular whether or not the subject content element is used in a prominent manner.
- Prominent use may be identified if the subject content element or variant thereof in the relevant data entity within a prominent pose such as a title or is emphasised in some way such as underlined, in bold or in italics. Inspection of markup language tag pairs may be utilised to identify such use and can be determined as a prominent pose.
- a comparison of the use of the subject content element always variation is made against other content elements to determine whether or not the subject content element always variant is more prominent than the other content elements.
- markup language tag pairs may be used and there may be a hierarchy of tag pairs to determine one tag pair indicative of a greater prominence than another, for example a title tag pair may be designated greater prominence than a bold tag pair.
- natural language processing may be used to determine whether not a subject content element or variation is used in a prominent manner. In such an example, natural language processing may seek to identify laudatory comments concerning the subject content element or its variant.
- an affinity entity may be a complex record comprising multiple information or maybe a simple or single noun.
- the affinity entity will have a form and content such as that illustrated in figure 8.
- Process flow control then proceeds to step 218 which is determined whether not a criterion, in the process has been met, for example whether not there are any more subject content elements awaiting processing. If the criterion for stopping the process has been met the process stops, 220, otherwise there process flows back to step 202.
- step 202 yields the result that no system data entity corresponding to the subject content element exists then system entity editor 151 is invoked.
- the process flow control diagram of figure 10 sets out the main steps of system entity editor 151.
- a copy of a system entity template is instantiated having respective fields for entering relevant data as set out in illustrated in figure 8.
- the ⁇ name> field is populated based on the content element text. Relevant text may be extracted using natural language processing techniques.
- the system entity editor may be operated by a human operator inputting data for various fields.
- a reference source such as Wikipedia is invoked utilising text in the ⁇ name> field and a copy of the first paragraph of the Wikipedia entry corresponding to the input text is copied, 256.
- Other suitable reference websites may be utilised such as Logopedia, YELP any others like source. Multiple sources are used as a single source may not be sufficiently comprehensive or may not even mention the entity at all.
- the ⁇ short description> field is populated with the first paragraph of the reference website, Wikipedia, or such other as may be utilised.
- Step 266 the affinity entity table is established to be ready to receive data. Process flow proceeds to step 266 from step 260 if no image is identified in the relevant Wikipedia or other reference site entry.
- the affinity entity table may need no setup but may merely be appropriate able capable of being populated as and when data is input to it.
- the process flow then proceeds to step 268 which is directed to step 204 of the process flow control diagram of figure 9 to continue with the execution of affinity identity ID module 152.
- the foregoing process establishes a corpus of system data entities which are likely to be of interest since they relate to something, subject content element, that has a degree of prominence when compared with data entities available on computer networks such as the Internet.
- the corpus of system data entities may be created by human operators.
- the corpus of system entities is stored in system entity store 156.
- a system in accordance with an embodiment of the present invention measures and determines the relevance of one entity (referred to as an affinity entity if it has a relevance) to another data entity (referred to as a system subject data entity) automatically and without human intervention. In this way, a large corpus of data entities may be analysed and their relevance to one another identified, recorded and utilised.
- one or more embodiments rather than characterize a system subject data entity by looking at its content other data entities are inspected to see what content of the first entity they refer to or use or what external attributes the system subject data entity entity has, e.g. a network presence or "popularity".
- a corpus may already be available in one or more so-called knowledge graphs.
- Affinity determination module 154 may be invoked to determine the relevance of one entity to another. As discussed with reference to step 216 of the process flow control diagram illustrated in figure 9, a system data entity is updated with an affinity entity as an attribute of the system data entity. However, at this stage it is unknown as to how relevant a designated affinity entity is to a particular system data entity.
- affinity determination module 154 is invoked and receives affinity entity data relating to an affinity entity such that the network behaviour and presence of the affinity data entity on computer networks such as the Internet may be monitored and analysed.
- network communications for an affinity data entity, AE1 are monitored and a value relating to them are stored as a network status value "NS".
- step 334 there is a determination of how many "in-links” and "out-links” are made to and from the affinity data entity AE1, including “in- links” and “out-links” to and from subject data entity, whether not a system subject data entity or a so-called network subject data entity assisting on a computer network outside of the entity affinity computing system 146.
- the number of "in-links” (IL) and “out-links” (OL) are recorded together with whether not an “in-links” and or "out-links” exist between affinity data entity AE1 and the subject data entity.
- the position of the affinity entity AE1 or at least an identifier of the affinity data entity AE1 such as relevant text or its name within one or more other data entities is determined to evaluate a position score, "POS", which is then stored.
- the prominence of an affinity data entity AE1 in other data entities is also analysed at step 338 to determine a prominence value, "PROM” which is then stored.
- a-called “snippet” is established which describes the relationship between affinity data entity AE1 and the system subject data entity. This snippet is then stored and the snippet field in the affinity entity table 196 populated with a pointer to the snippet.
- an affinity value AV is calculated for affinity entity AEl and stored in the affinity entity table 196 at a position in the ranking according to the affinity value AV together with the other attributes associated with affinity entity AEl.
- Affinity determination module 154 then stops at step 344 until it is invoked for the next affinity data entity.
- a procedure in accordance with the process flow control diagram of figure 12 is invoked and at step 350 a data source such as a website which typically receives or transmits communications concerning entities is selected.
- a data source such as a website which typically receives or transmits communications concerning entities.
- Wikipedia is a website which receives communications relating to data entities for example a request for information on "Barack Obama" or some other data entity.
- the Wikipedia hourly traffic concerning entities may be inspected, step 352.
- Other data sources such as Twitter may also be monitored to count the number of Twitter messages referring to or containing affinity entity AEl.
- the rate of communications for various data sources is determined and an aggregate number "RC" established for example based upon a summation of the number of individual traffic elements concerning affinity entity AEl.
- the rate of communications "RC" is normalised with reference to highest rate of communications for an entity experienced at the data source for which traffic data is being collected for affinity entity AEl.
- a weighting value may be applied to the clear or normalised rate value "RC” to yield a network status value "IMS".
- the weighting value may be a factor programmed into the entity affinity computing system 146 for respective data sources representative of a perceived importance of such a data source within the network user community.
- the process continues to the next data source in the list of data sources to be inspected. Steps 352 through to 356 then repeated for the next data source and the network status value "NS" updated to provide an aggregate value based upon a combination of the network status value evaluated for each data source.
- the network status value "NS” may be considered as a measure of the "popularity" of the affinity entity AEl as measured by computer network traffic to specific data sources, such as particular websites, in the list of data sources used by the system.
- the final aggregated network status value "NS" is then stored in the appropriate attribute field for AEl.
- a routine is called for determining "in-links" and "out-links" relating to affinity entity AEl.
- a so-called reference source is identified from a list of reference sources programmed into the entity affinity computing system 146 for this purpose.
- a reference source may be the same as or different from one or more of the data sources utilised with respect to the process illustrated with reference to figure 12.
- the reference sources are entities within a knowledge graph.
- the existence of an out-link "OL" in a reference source is identified and recorded, step 372.
- an "out-link” is a link from the subject data entity to affinity entity AEl.
- an in-link "IL" in a reference source is identified and recorded, step 374.
- an "in-!ink” is a link from the affinity entity AEl to another subject entity.
- links may be identified by the use of natural language processing or specifically looking for certain character strings containing the name of the affinity entity or some variant thereof. Links are defined in multiple ways for example there may be HTML links in a Wikipedia article there will may also be extraction which is a term used to describe multiple references to the same entity.
- step 376 the next reference source in the list of reference sources is selected and process control flows back to step 372 providing the list of reference sources for which links are to be established has not been exhausted, step 378. If at step 378 it is determined that the list of reference sources has been exhausted then process control flows to step 380 which returns the overall process flow to step 336 of the process flow control diagram illustrated in figure 11.
- Step 336 invokes a procedure starting at step 400 of the process flow control diagram of figure 14 in which another data entity of the knowledge graph is selected, typically in the first or second level but maybe in another level in the graph.
- another data entity of the knowledge graph is selected, typically in the first or second level but maybe in another level in the graph.
- the another data entity is referred to as an affinity data entity AEl because there is an affinity relationship between it and the subject data entity defined within the knowledge graph.
- the position of the affinity entity AEl in the subject entity is determined, step 402.
- the position of affinity entity AEl may be determined by reference to markup language tag pairs indicative of a title, heading, paragraph or some other structural element of a data entity.
- a position value "POS" is updated depending upon the position of the affinity entity AEl in the subject data entity.
- step 406 the process moves on to the next subject data entity identified in the relevant search and at step 408 it is determined whether or not there is a next subject data entity to analyse. If the entity list is not exhausted then process flow returns to step 402, otherwise process flow moves to step 410.
- the position value "POS" is updated on each pass through steps 402 through to 406. Typically, the position value "POS" is normalised to the number of subject entities that are inspected for the affinity entity AEl, for example by simply dividing the "POS" value by the number of subject entities that were inspected.
- Process flow returns to step 338 of the process flow control chart illustrated in figure 11 at which step a procedure for determining the prominence of an affinity entity is invoked.
- the process flow control chart illustrated in figure 15 set out the steps for determining prominence of an affinity entity and at step 420 starts by selecting a subject data entity which may be from the same list as used in the procedure illustrated with respect to the process flow control chart of figure 14 or may be the result of a further search using affinity entity AEl of the argument.
- the prominence of the affinity entity is analysed using natural language processing. Natural language processing may use any suitable natural language processing procedure for obtaining a semantic understanding of a portion of text.
- the natural language processing may be configured to identify language vocabulary such as "important”, “well-known”, “established” and other such laudatory terms, language and phrases.
- a prominence value "PROM” is updated at step 424 depending upon the prominence of affinity entity AEl the second network data entity under analysis.
- step 425 the process moves on to the next ssubject data entity identified in the relevant search and at step 426 it is determined whether or not there is a next subject data entity to analyse. If the entity list is not exhausted then process flow returns to step 422, otherwise process flow moves to step 426.
- the prominence value "PROM” is updated on each pass through steps 422 through to 425. Typically, the prominence value "PROM” is normalised to the number of subject data entities that are inspected for the affinity entity AEl, for example by simply dividing the "PROM" value by the number of subject data entities that were inspected.
- Step 428 returns the process flow to step 340 of the process flow control diagram illustrated in figure 11.
- Step 346 to establish a so-called "snippet" which is a brief description of the relationship of affinity entity AEl to the subject data entity.
- a snippet generation procedure is described with respect to the process flow control diagram illustrated in figure 16.
- a popular article about the subject data entity is identified and which also includes a reference to affinity entity AEl.
- popular article is meant an article or data entity associated with a well-known high profile data source such as Wikipedia or newspaper source or other well-regarded publication. The popularity of such an article may be measured using any of the techniques referred to above, in particular the technique for determining network status which was also referred to as "popularity".
- entity affinity computing system 146 ABP programmed with a list of suitable well-known or popular data sources 051658
- step 442 text is identified which refers to both the affinity entity AEl and the subject data entity and at step 444 it is check that the text concerns a reference from the affinity entity to the subject data entity. If the text is concerned with such a reference, at step 446 the snippet field corresponding to affinity entity AEl is populated with the extracted text. Optionally, a new text may be generated by the use of natural language processing to formulate an extract of the desired length. Process flow then continues to step 448 where then flows back to step 342 of the main algorithm illustrated in figure 11.
- the affinity value "AV" is calculated.
- the affinity value for AEl is based upon a combination of the network status NS1, the in-link value IL1, the out-link value OL1, prominence value PROM1 and position value POSl. This may be a simple summation of the values or weighting factors may be applied to respective values according to the system architect with designers understanding or view of what attributes reflect to a greater or lesser extent the relevance or affinity of an affinity entity to a subject data entity.
- an affinity value is evaluated as set out below.
- a greater set of features that referred to in the foregoing are used to compute entity affinity scores.
- the numbers or scores are always affinity entity AE's affinity score to subject data entity SE.
- Importancejevel SE number (0 - 100000) computed based on entity AE's in- link and out-link, to present how important an entity is in editor's mind.
- in-link means AE has an link to SE
- out-link means SE has an link to AE.
- First_Page_Out 1 if an entity AE is mentioned in first paragraph of major article of topic entity SE. Otherwise 0.
- InJJnion 1 if for entity AE, topic entity SE is either mentioned in AE's major article's first paragraph or Info-Box. Otherwise 0.
- Notable_Work 1 if entity AE is in topic entity SE's "notable work" field in SE's
- No_Snippet 1 if entity B's snippet for topic entity A cannot be generated.
- ef-idf A computed score to decide if an entity AE is specifically important to subject entity SE.
- List_Member 1 if topic entity SE is a list entity, and an entity AE is a member of the list. Otherwise 0.
- No_lnfo_Box 1 if entity AE doesn't have lnfo_Box. Otherwise 0.
- Locationjvlatch 1 if entity AE is a location and is within 1 mile of user's current location. Otherwise 0.
- lnterest_ atch Computed number (0 - 1) of entity AE's match to user's interest.
- an affinity value based on the features set out immediately above the following equation may be applied.
- other weightings and numerical factors may be applied depending upon the preferences and perceived importance of various attributes.
- the affinity between two entities are one directional. Entity A may be very important to Entity B, while Entity B may not be equally important to Entity A.
- the basic formula clearly demonstrates this one directional property of entity affinity values.
- Affinity value l*Popularity_Weight + 0.001*lmportance_level + 2000*ln_Out +
- weightings may be amended in accordance with a machine learning based on the addition of more knowledge base ground truths.
- affinity value AVI Once the affinity value AVI has been calculated for affinity entity AEl it can be incorporated as all the attributes of affinity entity AEl and then affinity entity AEl placed at the appropriate position in the affinity entity banking table 196.
- affinity entity AEl Once the affinity value AVI has been calculated for affinity entity AEl it can be incorporated as all the attributes of affinity entity AEl and then affinity entity AEl placed at the appropriate position in the affinity entity banking table 196.
- the foregoing procedures and processes described with reference to affinity entity AEl are carried out for each affinity entity of a particular system data entity and the affinity entity banking table 196 populated an updated in accordance with respective affinity values AVN corresponding to a Nth affinity entity.
- the corpus of system data entities having populated affinity entity tables 196 may be utilised to provide information to a user in an improved manner to conventional user interface systems representing a map of data entities distributed imposes according to their relevance to a subject entity under review by a user.
- This is particularly useful for users of mobile computing devices such as smart phones or mini tablets which have a reduced interface area but typically have touch sensitive screens.
- mobile computing devices such as smart phones or mini tablets which have a reduced interface area but typically have touch sensitive screens.
- FIG. 5 illustrating a schematic diagram of such a device.
- the mobile computing device of figure 5 includes an application program 123 including a display pose engine module 118. Operation of the display pose engine 118 will now be described with reference to the process flow control diagram of figure 17.
- Step 500 display pose engine 118 receives a system subject data entity responsive to user input requesting information on the subject data entity to which the system subject data entity P T/GB2017/051658
- Display pose engine 118 also retrieves an icon for subject data entity at step 502.
- the icon may be a separate object or may be the image 194 included in the system data entity.
- affinity data entity table 196 is inspected to determine what affinity entities are present in the table and an affinity engine 119 is invoked at step 506.
- Affinity engine 119 operates to update the affinity data entity table at the time a query or request is run in respect of a particular system subject data entity. Operation of affinity engine 119 is described with reference to the process flow control diagram illustrated in figure 18.
- the system subject data entity is passed to the affinity engine 119 to initiate the process at step 560.
- publication and data sources such as Twitter, Wikipedia and the like are consulted to determine if an affinity entity in the affinity entity table 196 as a particular high profile, for example a great number of mentions on Twitter, so-called Twitter "trending" or a particularly high number of request information from Wikipedia or other like publication of data sources.
- publication sources such as newspapers, magazines and journals may be inspected to see if there is any mention of an affinity data entity in a current issue.
- the affinity engine module procedure finishes at step 572 where process flow control is returned to step 510 of the process flow control diagram illustrated in figure 17 where the affinity data entity table is updated.
- Twitter trending, Wikipedia requests, page ranking and or reference in a current issue of the publication exceed a threshold or other criterion, such as having to occur in at least two such sources, for a particular affinity data entity that affinity data entity, or plurality of data entities, is are placed towards the top of the ranking in the affinity entity table for the system data entity under review.
- affinity determination module 154 may be invoked for those affinity data entities that fulfil the relevant criterion.
- the ranking of the affinity entities in the affinity entity table 196 may be kept up-to-date only in response to request information about the system subject entity data in which the affinity entity table 196 resides. This avoids the need for data communications ability intervals to update the affinity entity tables unnecessarily and therefore says on data bandwidth, battery power, and the cost of data communication.
- the subject data entity icon is assigned to the centre of a display pixel map stored in memory 103.
- the display pixel map covers an area greater than that of the display screen 106 such that the area of the display screen 106 acts as a "window" over the display pixel map, such that only data in the pixel map covered by the "window” corresponding to the display screen is displayed on the display screen.
- the top six ranked affinity data entity icons are retrieved from the affinity entity data table 196, each icon assigned to respective nodes defining a hexagonal array around the centre of the display pixel map, step 516, and where the subject data entity icon is assigned.
- Process flow control continues to step 518 whether top 7 to 18 ranked affinity data entity icons are retrieved from affinity data entity table 196 and assigned to 12 nodes to form a 12 noded array around the centre of the display pixel map and displaced at a distance from the centre greater than the distance of the icons arranged in an hexagonal array, step 520.
- the top 19 to 42 ranked affinity data entity icons are retrieved from affinity data entity table 196 and arranged around the centre of display pixel map to form a 24 noded array and displaced a distance away from the subject data entity icon at the centre of the display pixel map greater than the 12 noded array.
- Display pose engine 118 themselves display signals to display a view of the pixel map centred on the subject data entity to the display screen 106, step 528.
- icons in respective arrays are diminished in relative to the subject data entity icon and are typically gradually descending size according to which of the arrays they are disposed in.
- the greater the number of icons in an array the smaller the size of the icons.
- icons are of decreasing prominence and reflect their decreasing relevance or affinity to the subject data entity.
- the size of an icon is not the only way of indicating prominence and icons may be of the same size but different colours, different brightness, different font different typeface and any other way of presenting information as well as size and of course various combinations thereof.
- Figure 21 provides an example of the display of a pixel display map on display screen 106 for subject data entity respect of the film "The Social Network”.
- the hexagonal, and 12 noded array of icons can be seen clearly.
- the 24 noded array of icons seems incomplete in that the top left-hand corner of the display is not have icons displayed in it and this may be because there were less than 24 affinity data entities in the affinity data entity table 196 for the system object data entity of the film "The Social Network”.
- the related entities in figure 21 include: main actors Jesse Eisenberg, Justin Timberlake, Andrew Garfield, director David Fincher, the main described people and company in the movie:
- Display pose engine 118 then moves to decision step 530 were determines whether not it has sensed a click to select the subject data entity icon. If the subject data entity icon has been selected then information screen relating to the system data entity is displayed. An example of such a description in relation to the system entity for the film "The Social Network" is illustrated in figure 19. Selecting the button "see more" links to the data source to display the relevant data on the screen as illustrated in figure 20.
- Process flow then flows to decision 534.
- decision 534 is determined whether or not a particular icon has been pressed and moved or in an option embodiment just that a gesture is detected comprising moving while touching the screen.
- the user interface utilising a pointing device such as a mouse according a left click button down and moving the icon across the display screen may have the same effect.
- step 536 an affinity data icon displayed in the centre of the display screen, albeit static on the display pixel map the "window" of the display screen having effectively moved over the splay pixel map such that the particular affinity entity icon is at the centre of the display screen, and the name of the affinity data is displayed over the icon such as illustrated in figure 22.
- Figure 22 shows a situation where display has moved such that the icon relating to mark Zuckerberg is at the centre of the screen and consequently his name is displayed across the icon.
- Such a user interface allows a user to easily navigate to related entities to see what they are.
- Process flow then flows to decision 538.
- decision at step 534 was "no" the process flow would have already proceeded to step 538.
- step 538 the display engine 118 determines whether or not the icon corresponding to the affinity entity now displayed at the centre of the screen has been selected. If it has then process flow moves to step 540 where a "snippet" corresponding to the selected affinity entity is displayed. An example of a snippet is illustrated in figure 23. If no selection is sensed then process control flows back the process flows to step 528 at which point the display is re-centred on the system subject data entity icon. Process flow continues from step 542 decision step 542 were to sense whether or not the user has pressed the "more" button.
- a timeout is also included such that if the "more" button is not selected within a predetermined time period, for example 12 seconds, it is determined that the button has not been selected and the process flows to step 528 at which point the display is re-centred on the system subject data entity icon. If the "more" button is pressed then process flow moves to step 544 where the selected affinity data entity is assigned as the subject data entity as illustrated in figure 24. The affinity data icon is now the subject data icon and process flow control returns to step 504 where the whole process starts over again with seeking to update the affinity data entity table what is now the new subject data entity.
- a user may easily navigate and select entities relating to a subject entity and update the subject data entity to something their find of interest and continue using the same navigation paradigm.
- the present disclosure describes a new method to present an entity in knowledge graph form: its basic information, related services and related entities. Compared to existing methods, this method is straightforward to help users understand the entity at a simple glance; and also inspire users to explore related entities. Comparing to knowledge database graph tools, this method shows only most relevant knowledge to users and is fast to support real time queries.
- the entity icons are presented to the user by display screen.
- Other forms of presentation are possible in alternative embodiments, for example, other forms of user interface display such as presentation using sound, for example, using speech synthesis software to generate a spoken output presented via the loud speaker of the device.
- a communications device which might typically be a hand-held wireless device for use with a cellular telecommunications network.
- Other forms of device are envisaged in accordance with the present disclosure, and may comprise a personal computer having network connectivity, or any other processor based device.
- mobile communications devices embodiments in accordance with the present invention may utilise mobile computing devices such as laptop computers or tablet computers, and also desktop computers.
- pose means includes position, aspect, configuration, location, disposition and other terms encompassing a similar meaning thereto.
- CMOS complementary metal oxide semiconductor
- BiCMOS bipolar CMOS
- Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- ASIC application specific integrated circuits
- PLD programmable logic devices
- DSP digital signal processors
- FPGA field programmable gate array
- the embodiments are not limited in this context.
- some embodiments may be embodied in software.
- the software may be referenced as a software element.
- a software element may refer to any software structures arranged to perform certain operations.
- the software elements may include program instructions and/or data adapted for execution by a hardware element, such as a processor.
- Program instructions may include an organized list of commands comprising words, values or symbols arranged in a predetermined syntax, that when executed, may cause a processor to perform a corresponding set of operations.
- the software may be written or coded using a programming language. Examples of programming languages may include C, C++, BASIC, Perl, Matlab, Pascal, Visual BASIC, JAVA, ActiveX, assembly language, machine code, and so forth.
- the software may be stored using any type of computer-readable media or machine-readable media. Furthermore, the software may be stored on the media as source code or object code. The software may also be stored on the media as compressed and/or encrypted data.
- Examples of software may include any software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof.
- the embodiments are not limited in this context.
- the media or article may include any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, such as any of the examples described with reference to a memory.
- the media or article may comprise memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optica!
- the instructions may include any suitable type of code, such as source code, object code, compiled code, interpreted code, executable code, static code, dynamic code, and the like.
- the instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, such as C, C++, Java, BASIC, Perl, Matlab, Pascal, Visual BASIC, JAVA, ActiveX, assembly language, machine code, and so forth. The embodiments are not limited in this context.
- processing and the routine “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or viewing devices.
- physical quantities e.g., electronic
- any reference to "one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
- the appearances of the phrase “in one embodiment” or the phrase “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion.
- a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
- “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A data processing system, comprising a processor resource configured to provide a display module operative to provide signals for a display screen to generate a display structure on a display screen comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure is disclosed. The data processing system is also configured to provide a subject entity display signal to said display screen to display a subject entity icon representative of said subject entity at said reference point of said display structure and in a display pose of a degree of prominence corresponding to said reference point; and provide a first sub-set display signal to said display screen to display an icon representative of an affinity entity in a display pose of a degree of prominence corresponding to an affinity value associated with said affinity entity and said subject entity.
Description
Data processing system and data processing method
- Inventors: Steve Spencer, Omar Tayeb, Xuejun Wang, Zengyan Zhang, Maxx Cobb
Field
The present disclosure relates to a data processing system and a method of operating a data processing system. In particular, but not exclusively, the present disclosure relates to mobile communications devices and network devices incorporating data processing systems.
Background
Data processing systems for analysing amounts of data are known of which one type, referred to as knowledge based information retrieval and presentation, is a newly emerged technology in the fields. Several systems have used this method to improve the relevance of retrieved data to a search query input to the system by a user and or give users structured output of the data retrieved in response to a search query. For example, Google, Inc. announced a system referred to as a "Knowledge Graph" in 2012, and started to include knowledge graph in their search results in the same year. Data items of any type of media, document, audio or video for example, are referred to as entities or data entities hereinafter. An illustrative example of a conventional output of a data entity is provided in Figure 1 which is a screen shot of Wikipedia's article mode presentation of a data entity corresponding to the 2010 film "The Social Network" distributed by Columbia Pictures. Figure 2 is a screen shot of the right hand side of Google search results utilizing Knowledge Graph to form another data entity corresponding to the film "The Social Network". As shown in Figure 1, most of the existing works are focused on helping keyword searches to be more accurate and provide users direct basic properties of a searched entity. Although the basic information is essential to an entity, it will be much more attractive to users if a system can provide much more inspiring related entities. Subsequent to the introduction of Knowledge Graph, Microsoft's Bing 8 and Yahoo ! ® search used similar displays in their searches. So far, most internet applications display knowledge in a similar format.
There has also been research into determining entity relationships based on graph-based display for better visualization. Figure 2 is an illustrative example representative of such graph- based displays. Although this visualization is useful, it's usually slow to compute and is not suitable to be used to serve an end-user's runtime queries. Additionally, such a representation tends to
cover many if not all connected entities instead of only the most relevant entities for a user query. Usually an entity has more than 100 connected entities, which is almost impossible to directly display to end users, especially after expanding to multiple entities as illustrated in Figure 4.
The display of data entities illustrated in Figure 4 is used as a demonstration of knowledge graph usage in graph databases and research projects. In real graphs, each entity usually has many more related entities, and often multi-level connections are used; moreover, none of the graph database tools analyse relevance sufficiently well to filter out non-important connections. Therefore, the display form illustrated in Figure 4 is not used in end-user facing real time applications and even in knowledge database themselves. All knowledge database graph tools still use the display form illustrated in Figure 3 in research applications.
For the purpose of clarity and without establishing a limiting definition, an entity may be considered to comprise content, that is to say information about something; text; an image; a video; an audio file; links to other entities etc. The content may have different aspects; things that are part of the content but concern or relate to different things from each other. The content may be considered to consist of content elements where a content element is one or more parts of an entity forming a semantically coherent or meaningful part and includes parts of audio, image and video as well as text.
Mobile communications devices are becoming increasingly sophisticated in their flexibility for providing different communication modes and in their processing power and are as much mobile computing devices as communications devices. Mobile communications devices are by nature relatively compact and usually have limited display capacity. Additionally, they are often controlled by a user using one hand. Therefore there is a need to provide an interface which is very clear even on a small display screen and susceptible to simple command input gestures. Typically a communications device will have a processing resource including one or more processor in which a number of applications are capable of running, different applications being required for different modes of communication, such as an email application being required to send email and an instant messaging application being required to send instant messages. There will typically be an address book application by means of which the user can view via the display screen details of all the contacts with whom they are likely to communicate. A further application may also provide a directory service for locating contact information for entities providing services.
Typically a communications device provides a user interface enabling a user to select which of the features of the communications device they wish to use such as telephone features providing a choice of communicating with a destination call party via anyone of a number of communication modes such as cellular wireless network, VOIP (Voice Over Internet Protocol) and
UMA (Unregistered Mobile Access). The destination call party, which may either be an individual or an enterprise, may have a number of options for receiving communication via each mode. For example, an individual may have a work telephone number, a home telephone and a mobile telephone number and a SKYPE number. Each of these numbers is typically stored in the address book in the communications apparatus. Optionally, the user interface may be utilised by a user to invoke applications the other communications service or to provide other services such as map services and search services, often utilising access to a network such as the internet to communicate with servers providing such services or at least supporting such services by providing appropriate data.
One or more aspects and embodiments in accordance with the present invention were devised with the foregoing in mind.
Summary
Viewed from a first aspect there is provided a data processing system, comprising a processor resource configured to provide:
a display module operative to provide signals for a display screen to generate a display structure on a display screen comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure;
provide a subject entity display signal to said display screen to display a subject entity icon representative of said subject entity at said reference point of said display structure and in a display pose of a degree of prominence corresponding to said reference point; and
provide a first sub-set display signal to said display screen to display an icon representative of an affinity entity in a display pose of a degree of prominence corresponding to an affinity value associated with said affinity entity and said subject entity.
Viewed from a second aspect there is provided a method of operating a data processing system to provide display signals to a display screen, the method comprising:
generating a display structure comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure;
generating a subject entity display signal to display a subject entity icon representative of said current entity at said reference point of said display structure in a display pose of a degree of prominence corresponding to said reference point of said display structure;
and
generating a first sub-set display signal to display an icon representative of an affinity entity in a display pose of a degree of prominence corresponding to an affinity value associated with said affinity entity and said subject entity.
One or more aspects or embodiments in accordance with the present invention may provide users with a display interface showing the most relevant and related entities to an entity they are reviewing and provide them with access to reasons why they are related to the entity of interest.
An affinity based relevance system in accordance with one or more aspects or embodiments of the present invention may compute relevance or affinity values either at runtime or through pre-computing. The real time user experience may therefore be fast, possibly giving the appearence or sense of real-time, and relevant. The system and method of computing affinities and generating short reasons for the relationships (called snippets) are also disclosed. The prominence of the pose has utility in that the user's eye is first drawn to the most relevant pose. This enables the user to immediately understand the nature of the information obtained by "pressing" the pose. There is no need to read any further.
Data representative of a plurality of affinity entities each associated with an affinity value may be provided such that said first sub-set display signal may be provided to said display screen to display a corresponding plurality of icons each representative of respective ones of said plurality of affinity entities in respective display poses of a degree of prominence corresponding to respective affinity values associated with respective ones of said plurality of affinity entities and said subject entity. Such a display provides a clear indication of the relevance of affinity entities to the subject entity. This may also produce a graphical summary not only of the entity but allows a user to understand "at a glance" affinity entities i.e. understand context.
Suitably, a first sub-set of said affinity values may be determined satisfying a first criterion for displaying icons representative of a first sub-set of respective affinity entities associated with affinity values in said first sub-set in a display pose of a first decreased degree of prominence; and a first sub-set display signal provided to display said respective icons representative of each of said first sub-set of affinity entities with said first decreased degree of prominence. Such decreased degree of prominence assists in discriminating relevant affinity entities from the subject entity. Such a feature may allow a user to obtain the most relevant information by "pressing" the most prominent icon therefore making it easy for them to navigate and identify information of interest and relevance to them.
More suitably, a second sub-set of said affinity values may be determined satisfying a second criterion for displaying icons representative of a second sub-set of respective affinity
entities associated with affinity values in said second sub-set in a display pose of a second decreased degree of prominence; and a second sub-set display signal provided to display said respective icons representative of each of said second sub-set of affinity entities with said second decreased degree of prominence. Such an arrangement further assists a user in discriminating between entities of different relevance to the subject entity and a hierarchia! display may be achieved with the new subject entity.
Consequently, entities that may be or are probably not relevant are still displayed in graphical form with their likely relevance indicated through the hierarchy and prominence level.
The processor resource and method may be further configured to be responsive to user input to select a one of said icons representative of an affinity entity of said first or second subset of affinity entities to select said affinity entity and retrieve for display relationship information concerning a relevancy of said selected affinity entity to said subject entity. Such a feature may provide an ergonomic benefit in the input can be delivered by user using a device held in the hand and their thumb to perform selection.
The processor resource and method may be further configured to be responsive to a second user input to assign said selected affinity entity as a new subject entity and further configured to:
display a new subject entity icon representative of said selected affinity entity
assigned as said new subject entity at said reference point of said display structure and in a display pose of a degree of prominence corresponding to said reference point;
determine a third sub-set of third affinity entities, each one of said third sub-set being a third affinity entity comprising a third affinity value associated with said third affinity entity and said new subject entity and wherein said third affinity value satisfies a criterion for displaying respective icons representative of each said third sub-set of third affinity entities in a display pose of said first decreased degree of prominence; and
display said respective icons representative of each of said third sub-set of third affinity entities with said first decreased degree of prominence. Thus, a user may select a new subject entity to be of interest and the display interface will automatically rearrange and update to display the most relevant entities to the new subject entity.
The processor resource and method may be further configured to:
determine a fourth sub-set of said third affinity entities, each one of said fourth sub-set comprising a fourth affinity value associated with said new subject entity and wherein said fourth affinity value satisfies a criterion for displaying respective icons representative of each
said fourth sub-set of third affinity entities in a display pose of said second degree of decreased prominence; and
display said respective icons representative of each of said fourth sub-set of third affinity entities with said second decreased degree of prominence. Thus a hierarchal display may be achieved with the new subject entity.
A benefit of a user interface utilising the aforementioned two features is that a broader array of relevant information can be displayed on a smaller screen.
The processor resource and method may be further configured to generate said display structure to comprise a series of concentric display contours each display contour defining display poses of decreasing degree of prominence in a direction away from said reference point of said display structure. This provides an ergonomic benefit in that concentric display contours match the Rotary movement of a thumb when holding a mother computing device such as a smart phone in one hand.
The processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of said first sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence. This feature may assist in making it quicker to provide user input if a first sub- said is the closest access from all relevant information as it is the place a user is most likely to want to go to.
The processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of said third sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence. Again, this places relevant information in the appropriate physical location for ease of access for a user according to the likelihood of them wishing to use it.
The processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of each of said second sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
The processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of each of said fourth sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
Typically, the series of concentric display contours are circular shaped or polygonal shaped.
Such an arrangement is biologically economically beneficial in that it most closely matches the shape of a human thumb which is the digit most frequently used to operate a handheld device.
The processor resource and method may be further configured such that said display pose module is operative to provide display signals for a display screen to display said first subset of affinity entities at respective vertices of a first polygonal display contour.
The processor resource and method may be further configured to provide display signals for a display screen to display said second sub-set of affinity entities at respective vertices of a second polygonal display contour.
The processor resource and method may be further configured to provide display signals for a display screen to display said third subset of affinity entities at respective vertices of a first polygonal display contour.
The processor resource and method may be further configured to provide display signals for a display screen to display said fourth sub-set of affinity entities at respective vertices of a second polygonal display contour.
Such an arrangement as described above relating to various polygonal displays balances the quantity of entities displayed on a screen (i.e. more information) and the economic usability. The configurations considered optimal. If it is too large and not enough entities are displayed and it is too small the navigation with the fun becomes difficult if not impossible.
The processing resource and method may be further configured to provide an updated affinity value for an affinity entity associated with said subject entity. Such feature represents relevant information in the appropriate context been display to a user.
The processing resource and method may be further configured to provide an affinity engine operative to provide an updated affinity value for an affinity entity associated with said new subject entity. By supplying an update at this stage entities are to be displayed utilises speed and provides real-time and up-to-date processing relevant to the task and data being displayed.
The processor resource may comprise two or more processors. Moreover, the two or more processors may be at different locations.
In accordance with another embodiment there is provided a computing device comprising a display screen and a data processing system configured and operating as set out above. Such a computing device may receive said signals for a display screen for displaying icons on said display
screen according to said signals. The computing device may be a mobile computing device comprising a wireless communications module.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the disclosed subject matter.
List of figures
One or more specific embodiments in accordance with aspects of the present invention will now be described, by way of example only, and with reference to the accompanying drawings, in which:
Figure 1 illustrates a Wikipedia ® article mode presentation of a data entity;
Figure 2 illustrates a search engine's presentation of data results using a knowledge graph; Figure 3 illustrates presentation of data entities using a knowledge database graph tool; Figure 4 illustrates presentation of data entities which have been expanded to include multiple entities using knowledge graph presentation;
Figure 5 illustrates a block diagram of a communications device and network elements in accordance with an embodiment of the invention;
Figure 6 illustrates a block diagram of an affinity server and data entities in accordance with an embodiment of the invention;
Figure 7 is a schematic illustration of the structured content of a network entity;
Figure 8 is a schematic illustration of a system entity in accordance with an embodiment of the present invention;
Figure 9 is a process flow control diagram for the execution of the affinity entity ID module in accordance with an embodiment of the present invention;
Figure 10 is a process flow control diagram for the execution of the system entity module in accordance with an embodiment of the present invention;
Figure 11 is a process flow control diagram for the execution of the affinity determination module in accordance with an embodiment of the present invention;
Figure 12 is a process flow control diagram for the execution of step 332 of the affinity determination module in accordance with an embodiment of the present invention;
Figure 13 is a process flow control diagram for the execution of step 334 of the affinity determination module in accordance with an embodiment of the present invention;
Figure 14 is a process flow control diagram for the execution of step 336 of the affinity determination module in accordance with an embodiment of the present invention;
Figure 15 is a process flow control diagram for the execution of step 338 of the affinity determination module in accordance with an embodiment of the present invention;
Figure 16 is a process flow control diagram for the execution of step 340 of the affinity determination module in accordance with an embodiment of the present invention;
Figure 17 is a process flow control diagram for the execution of the display pose engine module in accordance with an embodiment of the present invention;
Figure 18 is a process flow control diagram for the execution of the affinity engine module in accordance with an embodiment of the present invention;
Figure 19 is a short description of the movie "The Social Network" in accordance with an embodiment of the present invention;
Figure 20 is a presentation of the facts of the movie "The Social Network" in accordance with an embodiment of the present invention;
Figure 21 illustrates an entry screen for the entity "The Social Network" display the most relevant affinity entities related to the entity "The Social Network";
Figure 22 illustrates a screenshot from moving and focusing on an affinity entity ("Mark Zuckerberg") in accordance with an embodiment of the present invention;
Figure 23 illustrates a "snippet" in accordance with an embodiment of the present invention;
Figure 24 illustrates a screen shot following a user selecting "see more" on affinity entity "Mark Zuckerberg"; and
Figure 25 is an example of a system data entity in accordance with an embodiment of the present invention.
Detailed description
In general overview there is disclosed a system and method for computing affinity scores between data entities so as to derive and identify relevant entities of a data entity. In the described embodiments this is achieved by analysing one directional entity-entity relationships and computing affinity scores. The analysis and computation may identify entities having affinity between them or utilise a graph based knowledge base in which different features of an entity such as an entity's popularity, importance in related Wikipedia articles or other text based articles, language based analysis, popularity and correlations in traffic and other social media, are combined to get final
affinity scores. The affinity scores are then used to select and sort only relevant and important related entities from regular user point of views.
The present disclosure also teaches a system and method to display only the most relevant information concerning a data entity to a user through graph-based displays with representative images or short names. The information includes an introduction, important facts, useful services, and related entities. Related entities are automatically selected from an "entity affinity computing system" to include only the most relevant entities. Short reasons, called snippets, are included in at least some related entities to explain why each of them is related to the main or subject entity. Multi-media entities, such as sound, video, and 3-D animations, are also used in the display method. This presentation method can be used in desktop and laptop computers, smart phones, and smart portable devices.
Figure 5 illustrates a block diagram of a communications device 100, according to one embodiment. The communications device 100 is connectable via network connection over a communications network 101 to a number of servers 101, 130 through to 130n.
The communications device 100 includes a computer memory 103, a processor 104, an RF (Radio Frequency) interface 105, a screen 106, a keyboard 107, a microphone 108 a speaker 109, a bluetooth interface 110, an infrared interface 111, connectors 112, a network interface 113 and a data bus 125,
A number of application programs 114 are stored in computer memory 103. Respective contacts databases 115 of the communication application programs 114 store details of the contacts that are associated with the respective communications application programs. For example, a communications application program 114 corresponding to email mode of communication would include a contact database consisting of email addresses and contact identifiers. In accordance with an embodiment of the invention computer memory 106 also comprises an update data entity affinity computing system and display application program 123 including a display pose engine 118 configured to determine a display configuration for subject data entity and a plurality of data entities, the display configuration representative of the relevance of those data entities to the subject data entity. Application program 123 comprises an affinity engine 119 configured to determine or at least modify the relevance values of data entities one to the other based on current network activity of the data entities. Affinity engine engine 119 communicates with application programming interface (API) 120 which is configured to initiate searches for and receive data on current network activity of data entities and provide the data to the affinity engine 119 to assess a current relevancy score for the data entities to the subject entity. Application program 123 also comprises a user interface for providing signals to screen 106 to display a user interface on screen
106. Application program 123 comprises computer program elements, such as instructions, executable by processor 104 to configure it to perform the various functions and activities of the application 123 such as the display pose engine 118, affinity engine 119, API 120 and user interface
Also in memory 103 is a key handler 116 comprising a software module configured to respond to keyboard 110 generated events. The key handler 116 provides appropriate inputs to the applications 114 and to a control module 117 that provides overall control of the processes leading to initiation of one or more applications 114 and 123. The memory 103 also includes an entity relationship database 121 and an entity database 122 to provide a local store for entity relationships and the entities themselves.
The device 100 may communicate with servers 102, 130(1)...130(n) (hereinafter collectively 130) via a network 101. The affinity server 102 is a server dedicated to identifying data entities, for example on or through servers 130, relevant to a subject entity and may also process such data entities to determine their level of relevance to a subject entity. In this regard, the processing of data entities and information about them may be undertaken in one or other of the affinity engine 119 and the affinity server 102 and indeed may also be shared between them. However, affinity engine 119 is primarily, if not exclusively, for determining or modifying relevancy values based on current network activity in response to a search request for an entity already existing in the system and updating attributes of that entity. The affinity server 102 includes an entity affinity computing system 146 comprising a server API 148; a server processor resource 150; an affinity entity identity module 152 for identifying entities having potential relevancy with a subject entity; and affinity determination module 154 for determining an overall affinity of an affinity entity with a subject entity in dependence on the different attributes. The entity affinity computing system 146 also comprises a "snippet" module 158 for identifying and extracting text from network sources and formulating a description of the relevancy of an affinity entity to the subject entity including forming "snippets" of information describing or providing information showing why and how an entity is relevant to subject entity. Additionally, the entity affinity computing system 146 also comprises a system entity store 156 that stores information on and about data entities in a format adapted for the system 146. The affinity engine 119 and entity affinity computing system 146 together may be considered to form an overall entity affinity computing system including both off-line processing in entity affinity computing system 146 and processing of current network activity of entities to update relevancy and in that regard affinity engine may be considered to be on-line and providing "real-time" updating. Application 123 as well as entity affinity computing system 146 include program instructions operative when
executed by respective processes 115 and 150 to provide overall management of the application and call respective modules as and when required. Additionally, such instructions also input and output through the user interface 121, API 120 and API 148.
The servers 102 and 130 are merely illustrative and other servers and network coupled devices may also communicate with the device 100 and server 102. Such servers may, for example, comprise a Yahoo server, a Wikipedia server, a games server and a calendar server.
References to a network and communication made above should be construed broadly to include many types of network and networks of networks, including the public service telephone network where appropriate, cable systems, wireless networks and the Internet.
Turning now to figure 7, a network data entity 170 is illustrated setting out typical components that may be found in such a network data entity. It should be noted that any particular network data entity may not comprise all of the components illustrated in figure 7 or indeed may comprise more and this disclosure and respective embodiments of the present invention are not limited by what is illustrated in figure 7. A network data entity is envisaged to be anything accessible over a communications network and which contains some form of content. The content may be simply nothing more than a single word or phrase or it may be more complex and comprise a structured data element having headings, text, images linked audio files and video files for example. In the illustrated example text 172 comprises a title or name for the entity; content elements such as one or more sentences or paragraphs; a first subtitle content elements relating to that subtitle; as well as a second subtitle and content relating to that second subtitle. Text 172 is illustrated in a structured manner to demonstrate the hierarchy that may be incorporated into such text.
The hierarchical structure of the text may be established by a suitable markup language, for example HT L. A<font>...</font> tag may specify a font face, font size and colour of the text; the heading tag pair <hn>...</hn> may be used to denote the heading where "n" is a number from 1 to 6; and the <b>...</b> and <i>...</i> tag pairs denote text that is respectively bold and italicised. Many other HTML tag pairs will be familiar to the person of ordinary skill in the art for denoting a particular type of text or content and distinguishing its presentation or prominence from that of text or content between other tag pairs of a different.
A data entity may also comprise overlay text, 180, again suitably identified or formatted by an HTML tag pair. There may also be images, 174, possibly a clarity of images together with an image description. Audio may also be provided by way of a link to a network location at which the audio is stored or may comprise an audio file such as a brief sample of a piece of music, 176. Additionally, a network data entity 170 may also comprise one or more links, 178, pointing to a
corresponding number of network locations at which other data entities may be found. Typically, a link will be in the form of a uniform resource locator (URL) but may also be in the form of meaningful text, selection of which invokes the relevant URL.
Figure 8 illustrates a system data entity, 190, created in accordance with one or more embodiments of the present invention and which comprises various content elements set out in a format suitable for use in accordance with an embodiment of the present invention. The system entity includes text, 192 including a name or title of the system data entity together with a short description of the system data entity. Typically, the system data entity will include an image 194 which may be used as part of an icon for display on the screen representing the system data entity. Additionally, a system data entity includes an affinity table, 196, which includes, in order of their relevance to that system data entity, a series of affinity entities "AEn" each having various attributes which in the illustrated embodiment includes an affinity value "AVn"; a network status value "NSn"; an in-link value "ILn"; an out-link value "OLn"; a prominence value "PROMn" a position value "POSn"; and a pointer to a snippet "SNIPn" containing brief text describing the relevance of the affinity data entity to system data entity.
The affinity value is a value based on a combination of the various attribute values and is indicative of the relevance of the affinity data entity to the system data entity. Throughout this description, when a system data entity is the subject of an enquiry, through the system it is termed an "subject system data entity" as it is the "subject" or "focus" of the activity utilising an aspect of an embodiment of the present invention. System data entities, 190 are stored in the system entity stored 156.
The number of attributes described have been limited and kept relatively simple in order to aid clarity of description. One or more embodiments in accordance with the present invention may utilise a greater number of attributes some of which may be combinations of other attributes or based on one or more other attributes.
An example of a system subject data entity for "Michelle Obama" is illustrated in figure 24.
In general outline a system in accordance with one or more embodiments of the invention computes affinity scores or values as follows:
1. Feature extractions: A module to extract and compute important affinity features for each entity from structured and semi-structured data and representative articles.
Representative articles include widely adopted articles, e.g., Wikipedia, Wikia, IMDB, Bloomberg company introductions, etc. Structured data includes widely adopted
structured data from different data sources, e.g., IMDB, Bloomberg company profiles, product databases, etc.
a. Text analysis: Several Natural Language Processing (NLP) tools and methods are used to extract related entities in the introduction, most important sections, and member of lists.
b. Structured data analysis: Configuration based most important structured data analysis and extractions,
c. Semi-structured data includes data from widely adopted knowledge graph databases, e.g., Wikidata, DBPedia, MusicBrainZ, etc.
2. Popularity computing: Different published data sources are used to compute each entity's popularity weight. Data sources include Wikipedia hourly entity level traffic, Twitter's tweets, etc. An overall popularity weight is computed
and will be used as static feature of each entity.
3. Entity importance level computing: By computing each entity's incoming and
outgoing links, entity's importance level is computed. This level represents how important the editor of each widely adopted article believes this entity
is. Usually the more important an entity is, the more incoming links the entity
has. Multi-level graph computing technologies are used to do the
computation.
4. Emerging trends and breaking news computing: by integrating with news agencies and based on editor's works, emerging trends and breaking news scores are also computed.
5. The final score is a combination of the above scores
6. Real-time computation: there are 2 methods to compute the final scores in 5. a. P recomputed scores: each time when data is pre-computing, each
related entities of an entity is computed and saved in a runtime fast lookup database. This method can reach best run-time response speed, but lacks minute level response capability to emerging trends
and breaking news. Also it lacks the capability of personalization and localization. b. un-time computed scores: a search engine is built to quickly compute and combine pre-computed scores and real-time scores on emerging trends, breaking news, user preferences, location information, etc.
Operation of the entity affinity computing system 146 will now be described with reference to the execution of respective modules. In accordance with an embodiment of the
present invention the entity affinity computing system 146 comprises an affinity entity ID module 152 operative to identify one or more entities on either an open network such as the Internet or within the closed system in accordance with the present invention which have a relevance, also termed affinity, to a data entity undergoing processing and analysis, a so-called subject data entity. The computer implemented process described with reference to affinity entity ID module 152 and the process flow control diagram of figure 9 provides an automated process for identifying one or more data entities having some sort of relevance to the subject data entity and either instantiating a system data entity corresponding to the subject data entity and populating the recently instantiated system data entity or updating an existing system data entity corresponding to the subject data entity.
Turning now to figure 9 affinity entity ID module 152 is initiated responsive to a subject content element being provided to the entity affinity computing system 146. The subject content element is typically provided responsive to system configuration input through API 148, during a system configuration mode in which a knowledge graph base is interrogated for data entities for example in response to a search query activated through mobile computing device 100. For example, the user of mobile computing device 100 may instantiate a search or more particularly invoke an application program such as Blippar and record an image of a scene and request information concerning one or more features of that scene. The Blippar application having identified the one or more features may then input respective features into application program 123 in order to establish, identify or determine data elements in the knowledge graph that have relevant information or connection with the one or more identified features.
At step 202 affinity entity ID module receives a subject content element, which may be the name of something or a person or some other content about which there may be relevant information comprising data entities within one or more knowledge graphs accessible to entity affinity computing system 146. In accordance with the described embodiment system entity store 156 is interrogated to determine whether or not a system entity corresponding to the input subject content element already exists within the entity affinity computing system 146. If no system data entity exists corresponding to the input subject content element system entity editor 151 is invoked. If a corresponding system data entity exists then process control flows to step 204. A description of the system entity editor 151 will be described in detail after describing the steps of the process flow control diagram figure 9.
At step 204 a search of the knowledge graph or graphs is initiated for data entities having the subject content element or a variant thereof within its contents. Such a search may take place over open networks such as the Internet to access remote knowledge graphs and/or the entity
affinity computing system 146 such as inspecting the entities in system entity store 156. Once an entity comprising a corresponding content element to the subject content element or a variation thereof has been found it is considered for display. In an embodiment utilising knowledge graphs an entity having correspondence or relationship with another entity is identified by having an outgoing link to that entity. At step 206 candidate entities having such outgoing links identified in order to populate the available display locations for the system. If insufficient candidate entities are identified then the next level links, level 2, are utilised until sufficient candidate entities have been identified, step 208. As can be seen from the flow diagram illustrated in figure 9, if the number of candidate entities is insufficient process flow returns to step 204 and a search the candidate entities is repeated until such time as a sufficient number identified in which case process flow proceeds to step 210. A particular threshold value process flow continues to step 210 otherwise process control returns to step 202 to await input of the next subject content element.
The next stage of determining whether not something may be a relevant data entity is how the subject content element is used and in particular whether or not the subject content element is used in a prominent manner. Prominent use may be identified if the subject content element or variant thereof in the relevant data entity within a prominent pose such as a title or is emphasised in some way such as underlined, in bold or in italics. Inspection of markup language tag pairs may be utilised to identify such use and can be determined as a prominent pose. In a particular embodiment in accordance with the present invention a comparison of the use of the subject content element always variation is made against other content elements to determine whether or not the subject content element always variant is more prominent than the other content elements. Again, markup language tag pairs may be used and there may be a hierarchy of tag pairs to determine one tag pair indicative of a greater prominence than another, for example a title tag pair may be designated greater prominence than a bold tag pair. Additionally or optionally, natural language processing may be used to determine whether not a subject content element or variation is used in a prominent manner. In such an example, natural language processing may seek to identify laudatory comments concerning the subject content element or its variant.
If its use is not sufficiently prominent process flow control returns to step 202. If the use is sufficiently prominent process flow control proceeds to step 214 in which the entity comprising the corresponding content element is designated an affinity entity. It should be noted that an affinity entity may be a complex record comprising multiple information or maybe a simple or single noun. In the case of a system data entity which has been identified as an affinity entity, the affinity entity will have a form and content such as that illustrated in figure 8. Process flow control then proceeds to step 218 which is determined whether not a criterion, in the process has been
met, for example whether not there are any more subject content elements awaiting processing. If the criterion for stopping the process has been met the process stops, 220, otherwise there process flows back to step 202.
If step 202 yields the result that no system data entity corresponding to the subject content element exists then system entity editor 151 is invoked. The process flow control diagram of figure 10 sets out the main steps of system entity editor 151. At step 250 a copy of a system entity template is instantiated having respective fields for entering relevant data as set out in illustrated in figure 8. At step 252 the <name> field is populated based on the content element text. Relevant text may be extracted using natural language processing techniques. Optionally, the system entity editor may be operated by a human operator inputting data for various fields. At step 204, a reference source such as Wikipedia is invoked utilising text in the <name> field and a copy of the first paragraph of the Wikipedia entry corresponding to the input text is copied, 256. Other suitable reference websites may be utilised such as Logopedia, YELP any others like source. Multiple sources are used as a single source may not be sufficiently comprehensive or may not even mention the entity at all.
At step 258 the <short description> field is populated with the first paragraph of the reference website, Wikipedia, or such other as may be utilised. At step 260 it is determined whether or not there any images associated with the Wikipedia entry or entry for other website. If an image is identified a copy of the image is taken and if there are more than one image a copy of the first images taken as it is most likely to be the most relevant image, step 262 and the <image> field populated with the image at step 264. Step 266 the affinity entity table is established to be ready to receive data. Process flow proceeds to step 266 from step 260 if no image is identified in the relevant Wikipedia or other reference site entry. As will be apparent to persons of ordinary skill in the art, the affinity entity table may need no setup but may merely be appropriate able capable of being populated as and when data is input to it. The process flow then proceeds to step 268 which is directed to step 204 of the process flow control diagram of figure 9 to continue with the execution of affinity identity ID module 152.
The foregoing process establishes a corpus of system data entities which are likely to be of interest since they relate to something, subject content element, that has a degree of prominence when compared with data entities available on computer networks such as the Internet. As mentioned earlier, it is also possible that the corpus of system data entities, or at least a portion thereof, may be created by human operators. The corpus of system entities is stored in system entity store 156.
A system in accordance with an embodiment of the present invention measures and determines the relevance of one entity (referred to as an affinity entity if it has a relevance) to another data entity (referred to as a system subject data entity) automatically and without human intervention. In this way, a large corpus of data entities may be analysed and their relevance to one another identified, recorded and utilised. Viewed from one perspective, one or more embodiments rather than characterize a system subject data entity by looking at its content other data entities are inspected to see what content of the first entity they refer to or use or what external attributes the system subject data entity entity has, e.g. a network presence or "popularity". Such a corpus may already be available in one or more so-called knowledge graphs.
Affinity determination module 154 may be invoked to determine the relevance of one entity to another. As discussed with reference to step 216 of the process flow control diagram illustrated in figure 9, a system data entity is updated with an affinity entity as an attribute of the system data entity. However, at this stage it is unknown as to how relevant a designated affinity entity is to a particular system data entity. In accordance with one or more embodiments of the present invention affinity determination module 154 is invoked and receives affinity entity data relating to an affinity entity such that the network behaviour and presence of the affinity data entity on computer networks such as the Internet may be monitored and analysed. At step 332, network communications for an affinity data entity, AE1 are monitored and a value relating to them are stored as a network status value "NS". Next, step 334, there is a determination of how many "in-links" and "out-links" are made to and from the affinity data entity AE1, including "in- links" and "out-links" to and from subject data entity, whether not a system subject data entity or a so-called network subject data entity assisting on a computer network outside of the entity affinity computing system 146. The number of "in-links" (IL) and "out-links" (OL) are recorded together with whether not an "in-links" and or "out-links" exist between affinity data entity AE1 and the subject data entity.
At step 336 the position of the affinity entity AE1 or at least an identifier of the affinity data entity AE1 such as relevant text or its name within one or more other data entities is determined to evaluate a position score, "POS", which is then stored. The prominence of an affinity data entity AE1 in other data entities is also analysed at step 338 to determine a prominence value, "PROM" which is then stored. As step 340 a-called "snippet" is established which describes the relationship between affinity data entity AE1 and the system subject data entity. This snippet is then stored and the snippet field in the affinity entity table 196 populated with a pointer to the snippet.
At step 242 an affinity value AV is calculated for affinity entity AEl and stored in the affinity entity table 196 at a position in the ranking according to the affinity value AV together with the other attributes associated with affinity entity AEl. Affinity determination module 154 then stops at step 344 until it is invoked for the next affinity data entity.
Returning to step 332 of the process flow control diagram of figure 11 an embodiment for the monitoring of network communications will now be described with reference to the process flow control diagram illustrated in figure 12. At step 332 a procedure in accordance with the process flow control diagram of figure 12 is invoked and at step 350 a data source such as a website which typically receives or transmits communications concerning entities is selected. For example, Wikipedia is a website which receives communications relating to data entities for example a request for information on "Barack Obama" or some other data entity. The Wikipedia hourly traffic concerning entities may be inspected, step 352. Other data sources such as Twitter may also be monitored to count the number of Twitter messages referring to or containing affinity entity AEl. The rate of communications for various data sources is determined and an aggregate number "RC" established for example based upon a summation of the number of individual traffic elements concerning affinity entity AEl.
At step 354 the rate of communications "RC" is normalised with reference to highest rate of communications for an entity experienced at the data source for which traffic data is being collected for affinity entity AEl. At step 356 a weighting value may be applied to the clear or normalised rate value "RC" to yield a network status value "IMS". The weighting value may be a factor programmed into the entity affinity computing system 146 for respective data sources representative of a perceived importance of such a data source within the network user community. At step 358 the process continues to the next data source in the list of data sources to be inspected. Steps 352 through to 356 then repeated for the next data source and the network status value "NS" updated to provide an aggregate value based upon a combination of the network status value evaluated for each data source. If the data source list is exhausted the step 360 the process flows to step 362 which returns flow to figure 11 at step 334 thereof. The network status value "NS" may be considered as a measure of the "popularity" of the affinity entity AEl as measured by computer network traffic to specific data sources, such as particular websites, in the list of data sources used by the system. The final aggregated network status value "NS" is then stored in the appropriate attribute field for AEl.
At step 334 of the process flow control diagram illustrated in figure 11 a routine is called for determining "in-links" and "out-links" relating to affinity entity AEl. At step 317 a so-called reference source is identified from a list of reference sources programmed into the entity affinity
computing system 146 for this purpose. A reference source may be the same as or different from one or more of the data sources utilised with respect to the process illustrated with reference to figure 12. In the described embodiment the reference sources are entities within a knowledge graph. In the described embodiment the existence of an out-link "OL" in a reference source is identified and recorded, step 372. For the purposes of this disclosure, an "out-link" is a link from the subject data entity to affinity entity AEl. Likewise, the existence of an in-link "IL" in a reference source is identified and recorded, step 374. For the purposes of this disclosure, an "in-!ink" is a link from the affinity entity AEl to another subject entity. As will be evident to a person of ordinary skill in the art for embodiments utilising knowledge graphs an in-link from an affinity entity points to the subject entity and there is only one in-link. Links may be identified by the use of natural language processing or specifically looking for certain character strings containing the name of the affinity entity or some variant thereof. Links are defined in multiple ways for example there may be HTML links in a Wikipedia article there will may also be extraction which is a term used to describe multiple references to the same entity.
At step 376 the next reference source in the list of reference sources is selected and process control flows back to step 372 providing the list of reference sources for which links are to be established has not been exhausted, step 378.. If at step 378 it is determined that the list of reference sources has been exhausted then process control flows to step 380 which returns the overall process flow to step 336 of the process flow control diagram illustrated in figure 11.
Step 336 invokes a procedure starting at step 400 of the process flow control diagram of figure 14 in which another data entity of the knowledge graph is selected, typically in the first or second level but maybe in another level in the graph. For the purposes of clarity of description the another data entity is referred to as an affinity data entity AEl because there is an affinity relationship between it and the subject data entity defined within the knowledge graph. Having found an affinity entity AEl the position of the affinity entity AEl in the subject entity is determined, step 402. The position of affinity entity AEl may be determined by reference to markup language tag pairs indicative of a title, heading, paragraph or some other structural element of a data entity. A position value "POS" is updated depending upon the position of the affinity entity AEl in the subject data entity. At step 406 the process moves on to the next subject data entity identified in the relevant search and at step 408 it is determined whether or not there is a next subject data entity to analyse. If the entity list is not exhausted then process flow returns to step 402, otherwise process flow moves to step 410. The position value "POS" is updated on each pass through steps 402 through to 406. Typically, the position value "POS" is normalised to
the number of subject entities that are inspected for the affinity entity AEl, for example by simply dividing the "POS" value by the number of subject entities that were inspected.
Process flow returns to step 338 of the process flow control chart illustrated in figure 11 at which step a procedure for determining the prominence of an affinity entity is invoked. The process flow control chart illustrated in figure 15 set out the steps for determining prominence of an affinity entity and at step 420 starts by selecting a subject data entity which may be from the same list as used in the procedure illustrated with respect to the process flow control chart of figure 14 or may be the result of a further search using affinity entity AEl of the argument. At step 422 the prominence of the affinity entity is analysed using natural language processing. Natural language processing may use any suitable natural language processing procedure for obtaining a semantic understanding of a portion of text. In this regard, the natural language processing may be configured to identify language vocabulary such as "important", "well-known", "established" and other such laudatory terms, language and phrases. A prominence value "PROM" is updated at step 424 depending upon the prominence of affinity entity AEl the second network data entity under analysis.
At step 425 the process moves on to the next ssubject data entity identified in the relevant search and at step 426 it is determined whether or not there is a next subject data entity to analyse. If the entity list is not exhausted then process flow returns to step 422, otherwise process flow moves to step 426. The prominence value "PROM" is updated on each pass through steps 422 through to 425. Typically, the prominence value "PROM" is normalised to the number of subject data entities that are inspected for the affinity entity AEl, for example by simply dividing the "PROM" value by the number of subject data entities that were inspected.
Process flow control then moves on to step 428 which returns the process flow to step 340 of the process flow control diagram illustrated in figure 11. Step 346 to establish a so-called "snippet" which is a brief description of the relationship of affinity entity AEl to the subject data entity. A snippet generation procedure is described with respect to the process flow control diagram illustrated in figure 16. At step 440, a popular article about the subject data entity is identified and which also includes a reference to affinity entity AEl. By popular article is meant an article or data entity associated with a well-known high profile data source such as Wikipedia or newspaper source or other well-regarded publication. The popularity of such an article may be measured using any of the techniques referred to above, in particular the technique for determining network status which was also referred to as "popularity". Optionally, entity affinity computing system 146 ABP programmed with a list of suitable well-known or popular data sources
051658
22 and again it may be the same list as is used with respect to the procedures of the process flow control diagram is illustrated in figures 12 and 13 for example.
At step 442 text is identified which refers to both the affinity entity AEl and the subject data entity and at step 444 it is check that the text concerns a reference from the affinity entity to the subject data entity. If the text is concerned with such a reference, at step 446 the snippet field corresponding to affinity entity AEl is populated with the extracted text. Optionally, a new text may be generated by the use of natural language processing to formulate an extract of the desired length. Process flow then continues to step 448 where then flows back to step 342 of the main algorithm illustrated in figure 11.
At step 342 the affinity value "AV" is calculated. Referring to the attributes identified in the affinity entity table 196 the affinity value for AEl is based upon a combination of the network status NS1, the in-link value IL1, the out-link value OL1, prominence value PROM1 and position value POSl. This may be a simple summation of the values or weighting factors may be applied to respective values according to the system architect with designers understanding or view of what attributes reflect to a greater or lesser extent the relevance or affinity of an affinity entity to a subject data entity.
In a specific embodiment in accordance with the present invention utilising a greater number of attributes than described in the foregoing, an affinity value is evaluated as set out below.
In such a specific embodiment a greater set of features that referred to in the foregoing are used to compute entity affinity scores. In the following, the numbers or scores are always affinity entity AE's affinity score to subject data entity SE.
Popularity_weight: SE normalized and weighted number (0 - 1000) for entity
AE based on Wikipedia traffic, Twitter tweets and Blippar traffic, etc.
Importancejevel: SE number (0 - 100000) computed based on entity AE's in- link and out-link, to present how important an entity is in editor's mind.
ln_Out: 1 if entity AE is in both in-link and out-link of subject entity SE. Otherwise
0. Here, in-link means AE has an link to SE, out-link means SE has an link to AE.
First_Page_Out: 1 if an entity AE is mentioned in first paragraph of major article of topic entity SE. Otherwise 0.
First_Page_ln: 1 if an entity AE's first paragraph of major article about SE
mentions topic entity SE. Otherwise 0.
lnfo_Box: 1 if an entity AE is mentioned in topic entity SE's major article's
lnfo_Box. Otherwise 0.
Out Union: 1 if entity AE is either mentioned in topic entity SE's major article's first paragraph or Info- Box. Otherwise 0.
InJJnion: 1 if for entity AE, topic entity SE is either mentioned in AE's major article's first paragraph or Info-Box. Otherwise 0.
Known_For: 1 if entity AE is in topic entity SE's "known for" field in SE's
Wikipedia article. Otherwise 0.
Notable_Work: 1 if entity AE is in topic entity SE's "notable work" field in SE's
Wikipedia article. Otherwise 0.
Award: 1 if entity AE is in topic entity SE's award list. Otherwise 0.
Family: 1 if entity AE is in topic entity SE's family list. Otherwise 0.
No_Snippet: 1 if entity B's snippet for topic entity A cannot be generated.
Otherwise 0. This score is used for penalty.
Key_People: 1 if entity AE is in topic entity SE's "key people" list. Otherwise 0.
ef-idf: A computed score to decide if an entity AE is specifically important to subject entity SE. ef-idf s computing formula is the same as tf-idf formula in search: oef-idf = ef * idf
oef = number of entity AE appearing in SE's representative article
oidf - log(Tota! entity number/number of entities that have SE)
List_Member: 1 if topic entity SE is a list entity, and an entity AE is a member of the list. Otherwise 0.
No_lnfo_Box: 1 if entity AE doesn't have lnfo_Box. Otherwise 0.
Locationjvlatch: 1 if entity AE is a location and is within 1 mile of user's current location. Otherwise 0.
lnterest_ atch: Computed number (0 - 1) of entity AE's match to user's interest.
Where the term " tf-idf"" is a commonly used and understood formula in the public domain and is referred to as "term frequency-inverse document frequency"
The person of ordinary skill in the art will readily recognise how the illustrative
embodiments described with reference to the various process flow control diagrams may be modified and augmented to collect data with reference to the features described immediately above.
As an illustrative and non-limiting example for calculating an affinity value based on the features set out immediately above the following equation may be applied. As will be evident to
the person of ordinary skill in the art that other weightings and numerical factors may be applied depending upon the preferences and perceived importance of various attributes. Please note that the affinity between two entities are one directional. Entity A may be very important to Entity B, while Entity B may not be equally important to Entity A. The basic formula clearly demonstrates this one directional property of entity affinity values.
Affinity value = l*Popularity_Weight + 0.001*lmportance_level + 2000*ln_Out +
1000*First_Page_Out+ 100*First_Page_ln + 50*lnfo_Box + 20000*Out_Union +
700*ln_Union + 2000*Known_For + 2000*Notable_Work + 1200*Award - 50000* No_Snippet + 1000*Family + 300*Key_People + 20*ef_idf +
25000*List_Member+10*No_lnfo_Box + 500*Location_Match + 1000*lnterest_Match
The various factors act as waiting values are developed by empirical iteration in accordance with design criteria and objectives. In one or more embodiments in weightings may be amended in accordance with a machine learning based on the addition of more knowledge base ground truths.
Once the affinity value AVI has been calculated for affinity entity AEl it can be incorporated as all the attributes of affinity entity AEl and then affinity entity AEl placed at the appropriate position in the affinity entity banking table 196. The foregoing procedures and processes described with reference to affinity entity AEl are carried out for each affinity entity of a particular system data entity and the affinity entity banking table 196 populated an updated in accordance with respective affinity values AVN corresponding to a Nth affinity entity.
In accordance with another aspect of the present invention, the corpus of system data entities having populated affinity entity tables 196 may be utilised to provide information to a user in an improved manner to conventional user interface systems representing a map of data entities distributed imposes according to their relevance to a subject entity under review by a user. This is particularly useful for users of mobile computing devices such as smart phones or mini tablets which have a reduced interface area but typically have touch sensitive screens. Such a device was described with reference to figure 5 illustrating a schematic diagram of such a device. The mobile computing device of figure 5 includes an application program 123 including a display pose engine module 118. Operation of the display pose engine 118 will now be described with reference to the process flow control diagram of figure 17.
Step 500 display pose engine 118 receives a system subject data entity responsive to user input requesting information on the subject data entity to which the system subject data entity
P T/GB2017/051658
25
corresponds. Without limitation, the user input may be by way of an argument in a search request or by returning an argument from some other application such as Blippar which has identified an object in an image taken by the user. Display pose engine 118 also retrieves an icon for subject data entity at step 502. The icon may be a separate object or may be the image 194 included in the system data entity.
At step 504 the affinity data entity table 196 is inspected to determine what affinity entities are present in the table and an affinity engine 119 is invoked at step 506. Affinity engine 119 operates to update the affinity data entity table at the time a query or request is run in respect of a particular system subject data entity. Operation of affinity engine 119 is described with reference to the process flow control diagram illustrated in figure 18.
The system subject data entity is passed to the affinity engine 119 to initiate the process at step 560. At step 564 publication and data sources such as Twitter, Wikipedia and the like are consulted to determine if an affinity entity in the affinity entity table 196 as a particular high profile, for example a great number of mentions on Twitter, so-called Twitter "trending" or a particularly high number of request information from Wikipedia or other like publication of data sources. At step 568 searching to be invoked and the page ranking of an affinity data entity determined. Likewise, in step 570 publication sources such as newspapers, magazines and journals may be inspected to see if there is any mention of an affinity data entity in a current issue.
The affinity engine module procedure finishes at step 572 where process flow control is returned to step 510 of the process flow control diagram illustrated in figure 17 where the affinity data entity table is updated. If the Twitter trending, Wikipedia requests, page ranking and or reference in a current issue of the publication exceed a threshold or other criterion, such as having to occur in at least two such sources, for a particular affinity data entity that affinity data entity, or plurality of data entities, is are placed towards the top of the ranking in the affinity entity table for the system data entity under review. Optionally, affinity determination module 154 may be invoked for those affinity data entities that fulfil the relevant criterion. In this way, the ranking of the affinity entities in the affinity entity table 196 may be kept up-to-date only in response to request information about the system subject entity data in which the affinity entity table 196 resides. This avoids the need for data communications ability intervals to update the affinity entity tables unnecessarily and therefore says on data bandwidth, battery power, and the cost of data communication.
At step 512 the subject data entity icon is assigned to the centre of a display pixel map stored in memory 103. The display pixel map covers an area greater than that of the display screen 106 such that the area of the display screen 106 acts as a "window" over the display pixel map,
such that only data in the pixel map covered by the "window" corresponding to the display screen is displayed on the display screen. Next, at step 514 the top six ranked affinity data entity icons are retrieved from the affinity entity data table 196, each icon assigned to respective nodes defining a hexagonal array around the centre of the display pixel map, step 516, and where the subject data entity icon is assigned. Process flow control continues to step 518 whether top 7 to 18 ranked affinity data entity icons are retrieved from affinity data entity table 196 and assigned to 12 nodes to form a 12 noded array around the centre of the display pixel map and displaced at a distance from the centre greater than the distance of the icons arranged in an hexagonal array, step 520. Likewise, at step 524 the top 19 to 42 ranked affinity data entity icons are retrieved from affinity data entity table 196 and arranged around the centre of display pixel map to form a 24 noded array and displaced a distance away from the subject data entity icon at the centre of the display pixel map greater than the 12 noded array. Display pose engine 118 themselves display signals to display a view of the pixel map centred on the subject data entity to the display screen 106, step 528.
It should be noted that the size of icons in respective arrays are diminished in relative to the subject data entity icon and are typically gradually descending size according to which of the arrays they are disposed in. The greater the number of icons in an array the smaller the size of the icons. In this way, icons are of decreasing prominence and reflect their decreasing relevance or affinity to the subject data entity. Will of course be evident to the person of ordinary skill in the art that the size of an icon is not the only way of indicating prominence and icons may be of the same size but different colours, different brightness, different font different typeface and any other way of presenting information as well as size and of course various combinations thereof.
Figure 21 provides an example of the display of a pixel display map on display screen 106 for subject data entity respect of the film "The Social Network". In this particular example the hexagonal, and 12 noded array of icons can be seen clearly. However, the 24 noded array of icons seems incomplete in that the top left-hand corner of the display is not have icons displayed in it and this may be because there were less than 24 affinity data entities in the affinity data entity table 196 for the system object data entity of the film "The Social Network".
The related entities in figure 21 include: main actors Jesse Eisenberg, Justin Timberlake, Andrew Garfield, director David Fincher, the main described people and company in the movie:
Mark Zuckerberg, Facebook, Eduardo Saverin, Sean Parker etc. And 68tn Academy Awards. It's clear that this presentation is much better than pure structured data based methods, where Mark Zuckerberg and Facebook cannot be included; and it's much more straightforward for users to
quickly understand and be inspired, compare to Wikipedia's article presentation and search engine's pure fact presentation in figures 1 and 2.
Display pose engine 118 then moves to decision step 530 were determines whether not it has sensed a click to select the subject data entity icon. If the subject data entity icon has been selected then information screen relating to the system data entity is displayed. An example of such a description in relation to the system entity for the film "The Social Network" is illustrated in figure 19. Selecting the button "see more" links to the data source to display the relevant data on the screen as illustrated in figure 20.
Process flow then flows to decision 534. Optionally, if the decision at step 530 was "no" the process flow would have already proceeded to step 534. At step 534 is determined whether or not a particular icon has been pressed and moved or in an option embodiment just that a gesture is detected comprising moving while touching the screen. Optionally, the user interface utilising a pointing device such as a mouse according a left click button down and moving the icon across the display screen may have the same effect. If a "hold and move" motion is sensed than the process flows to step 536 where an affinity data icon displayed in the centre of the display screen, albeit static on the display pixel map the "window" of the display screen having effectively moved over the splay pixel map such that the particular affinity entity icon is at the centre of the display screen, and the name of the affinity data is displayed over the icon such as illustrated in figure 22. Figure 22 shows a situation where display has moved such that the icon relating to mark Zuckerberg is at the centre of the screen and consequently his name is displayed across the icon. Such a user interface allows a user to easily navigate to related entities to see what they are. Process flow then flows to decision 538. Optionally, if the decision at step 534 was "no" the process flow would have already proceeded to step 538.
At step 538 the display engine 118 determines whether or not the icon corresponding to the affinity entity now displayed at the centre of the screen has been selected. If it has then process flow moves to step 540 where a "snippet" corresponding to the selected affinity entity is displayed. An example of a snippet is illustrated in figure 23. If no selection is sensed then process control flows back the process flows to step 528 at which point the display is re-centred on the system subject data entity icon. Process flow continues from step 542 decision step 542 were to sense whether or not the user has pressed the "more" button. A timeout is also included such that if the "more" button is not selected within a predetermined time period, for example 12 seconds, it is determined that the button has not been selected and the process flows to step 528 at which point the display is re-centred on the system subject data entity icon. If the "more" button is pressed then process flow moves to step 544 where the selected affinity data entity is assigned as
the subject data entity as illustrated in figure 24. The affinity data icon is now the subject data icon and process flow control returns to step 504 where the whole process starts over again with seeking to update the affinity data entity table what is now the new subject data entity.
In this way, a user may easily navigate and select entities relating to a subject entity and update the subject data entity to something their find of interest and continue using the same navigation paradigm.
The present disclosure describes a new method to present an entity in knowledge graph form: its basic information, related services and related entities. Compared to existing methods, this method is straightforward to help users understand the entity at a simple glance; and also inspire users to explore related entities. Comparing to knowledge database graph tools, this method shows only most relevant knowledge to users and is fast to support real time queries.
In the above described embodiments, the entity icons are presented to the user by display screen. Other forms of presentation are possible in alternative embodiments, for example, other forms of user interface display such as presentation using sound, for example, using speech synthesis software to generate a spoken output presented via the loud speaker of the device. One or more embodiment has been described with reference to a communications device which might typically be a hand-held wireless device for use with a cellular telecommunications network. Other forms of device are envisaged in accordance with the present disclosure, and may comprise a personal computer having network connectivity, or any other processor based device. For example, although the disclosure has been made with respect to mobile communications devices embodiments in accordance with the present invention may utilise mobile computing devices such as laptop computers or tablet computers, and also desktop computers.
In this disclosure, there is described a method and apparatus to compute one-directional affinity scores within two entities. By using this method and system based upon it, relevant related entities of any entity are computed automatically, and quickly to present to users.
The meaning of the term pose used herein means includes position, aspect, configuration, location, disposition and other terms encompassing a similar meaning thereto.
It will be appreciated that any of the optional features of any of the embodiments described herein could also be provided with one or more of any of the other embodiments described herein.
As noted in some of the embodiments above, they may be embodied in hardware. The hardware may be referenced as a hardware element. In general, a hardware element may refer to any hardware structures arranged to perform certain operations. In one embodiment, for example, the hardware elements may include any analogue or digital electrical or electronic
elements fabricated on a substrate. The fabrication may be performed using silicon-based integrated circuit (IC) techniques, such as complementary metal oxide semiconductor (CMOS), bipolar, and bipolar CMOS (BiCMOS) techniques, for example. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. The embodiments are not limited in this context. Also noted above, some embodiments may be embodied in software. The software may be referenced as a software element. In general, a software element may refer to any software structures arranged to perform certain operations. In one embodiment, for example, the software elements may include program instructions and/or data adapted for execution by a hardware element, such as a processor. Program instructions may include an organized list of commands comprising words, values or symbols arranged in a predetermined syntax, that when executed, may cause a processor to perform a corresponding set of operations.
The software may be written or coded using a programming language. Examples of programming languages may include C, C++, BASIC, Perl, Matlab, Pascal, Visual BASIC, JAVA, ActiveX, assembly language, machine code, and so forth. The software may be stored using any type of computer-readable media or machine-readable media. Furthermore, the software may be stored on the media as source code or object code. The software may also be stored on the media as compressed and/or encrypted data. Examples of software may include any software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. The embodiments are not limited in this context.
Some embodiments may be implemented, for example, using any computer-readable media, machine-readable media, or article capable of storing software. The media or article may include any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, such as any of the examples described with reference to a memory. The media or article may comprise memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk
Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optica! disk, magnetic media, magneto- optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), subscriber identify module, tape, cassette, electrical signal, radio-frequency signal, optical carrier signal, or the like. The instructions may include any suitable type of code, such as source code, object code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, such as C, C++, Java, BASIC, Perl, Matlab, Pascal, Visual BASIC, JAVA, ActiveX, assembly language, machine code, and so forth. The embodiments are not limited in this context.
Unless specifically stated otherwise, it may be appreciated that terms such as "processing," and the routine "computing," "calculating," "determining," or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or viewing devices. The embodiments are not limited in this context.
As used herein any reference to "one embodiment" or "an embodiment" means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" or the phrase "in an embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having" or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, "or" refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
In addition, use of the "a" or "an" are employed to describe elements and components of the invention. This is done merely for convenience and to give a general sense of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention. For example, particular references have been made to various information services, search engines, information repositories, social media services and communications services aspects, embodiments and implementations in accordance with the present invention are not limited to those things explicitly referred to.
The scope of the present disclosure includes any novel feature or combination of features disclosed therein either explicitly or implicitly or any generalisation thereof irrespective of whether or not it relates to the claimed invention or mitigate against any or all of the problems addressed by the present invention. The applicant hereby gives notice that new claims may be formulated to such features during prosecution of this application or of any such further application derived therefrom. In particular, with reference to the appended claims, features from dependent claims may be combined with those of the independent claims and features from respective independent claims may be combined in any appropriate manner and not merely in specific combinations enumerated in the claims.
Claims
1. A data processing system, comprising a processor resource configured to provide:
a display module operative to provide signals for a display screen to generate a display structure on a display screen comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure;
provide a subject entity display signal to said display screen to display a subject entity icon representative of said subject entity at said reference point of said display structure and in a display pose of a degree of prominence corresponding to said reference point; and provide a first sub-set display signal to said display screen to display an icon representative of an affinity entity in a display pose of a degree of prominence corresponding to an affinity value associated with said affinity entity and said subject entity.
2. A data processing system according to claim 1, said processor resource further configured to receive data representative of a plurality of affinity entities each associated with an affinity value, and such that said display pose module is further operative to provide said first sub-set display signal to said display screen to display a corresponding plurality of icons each representative of respective ones of said plurality of affinity entities in respective display poses of a degree of prominence corresponding to respective affinity values associated with respective ones of said plurality of affinity entities and said subject entity.
3. A data processing system according to claim 2, said processor resource further configured such that said display pose module is further operative to determine a first sub-set of said affinity values satisfying a first criterion for displaying icons representative of a first sub-set of respective affinity entities associated with affinity values in said first sub-set in a display pose of a first decreased degree of prominence; and
provide a first sub-set display signal to display said respective icons representative of each of said first sub-set of affinity entities with said first decreased degree of prominence.
4. A data processing system according to claim 2 or claims, wherein said processor resource is further configured such that said display pose module is further operative to determine a second sub-set of said affinity values satisfying a second criterion for displaying icons representative of a second sub-set of respective affinity entities associated with
affinity values in said second sub-set in a display pose of a second decreased degree of prominence; and
provide a second sub-set display signal to display said respective icons representative of each of said second sub-set of affinity entities with said second decreased degree of prominence,
5. A data processing system according to any of claim 2 to claim 4, wherein said processor resource is further configured to be responsive to user input to select a one of said icons representative of an affinity entity of said first or second sub-set of affinity entities to select said affinity entity and retrieve for display relationship information concerning a relevancy of said selected affinity entity to said subject entity.
6. A data processing system according to claim 6, wherein said processor resource is further configured to be responsive to a second user input to assign said selected affinity entity as a new subject entity and further configured such that said display pose module is further operative to:
display a new subject entity icon representative of said selected affinity entity assigned as said new subject entity at said reference point of said display structure and in a display pose of a degree of prominence corresponding to said reference point;
determine a third sub-set of third affinity entities, each one of said third sub-set being a third affinity entity comprising a third affinity value associated with said third affinity entity and said new subject entity and wherein said third affinity value satisfies a criterion for displaying respective icons representative of each said third sub-set of third affinity entities in a display pose of said first decreased degree of prominence; and
display said respective icons representative of each of said third sub-set of third affinity entities with said first decreased degree of prominence.
7. A data processing system according to claim 6, wherein said processor resource is further configured such that said display pose module is operative to:
determine a fourth sub-set of said third affinity entities, each one of said fourth sub-set comprising a fourth affinity value associated with said new subject entity and wherein aid fourth affinity value satisfies a criterion for displaying respective icons representative of each said fourth sub-set of third affinity entities in a display pose of said second degree of decreased prominence; and
display said respective icons representative of each of said fourth sub-set of third affinity entities with said second decreased degree of prominence.
8. A data processing system according to any preceding claim, wherein said processor resource is further configured such that said display pose module is operative to generate said display structure to comprise a series of concentric display contours each display contour defining display poses of decreasing degree of prominence in a direction away from said reference point of said display structure.
9. A data processing system according to claim 8, wherein said processor resource is further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of said first sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence.
10. A data processing system according to claim 8 or claim 9 dependent on claim 6 or claim 7, wherein said processor resource is further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of said third sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence.
11. A data processing system according to claim 9 or claim 10, dependent on claim 2, wherein said processor resource is further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of each of said second sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
12. A data processing system according to claim 10, wherein said processor resource is further configured such that said display pose module is operative to provide display signals for a display screen to display said respective icons representative of each of said fourth sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
13. A data processing system according to any of claim 8 to claim 12, wherein said series of concentric display contours are circular shaped or polygonal shaped.
A data processing system according to claim 13, wherein said processor resource is further configured such that said display pose module is operative to provide display signals for a display screen to display said first subset of affinity entities at respective vertices of a first polygonal display contour.
15. A data processing system according to claim 13 or claim 14, when dependent on claim 2, wherein said processor resource is further configured to provide display signals for a display screen to display said second sub-set of affinity entities at respective vertices of a second polygonal display contour.
16. A data processing system according to claim 13, dependent on claim 6 or claim 7, wherein said processor resource is further configured such that said display pose module is operative to provide display signals for a display screen to display said third subset of affinity entities at respective vertices of a first polygonal display contour.
17. A data processing system according to claim 16, wherein said processor resource is further configured to provide display signals for a display screen to display said fourth subset of affinity entities at respective vertices of a second polygonal display contour.
18. A data processing system according to any preceding claim, wherein said processing resource is further configured to provide an affinity engine operative to provide an updated affinity value for an affinity entity associated with said subject entity.
19. A data processing system according to any of claim 6 or claim 7 or any of claim 8 to claim 18 dependent on claim 6 or claim 7, wherein said processing resource is further configured to provide an affinity engine operative to provide an updated affinity value for an affinity entity associated with said new subject entity.
20. A data processing system according to any preceding claim, wherein the processor resource comprises two or more processors.
21. A computing device comprising a display screen and a data processing system according to any preceding claim.
22. A computing device according to claim 19 configured to receive said signals for a display screen for displaying icons on said display screen according to said signals.
23. A mobile computing device comprising a computing device according to claim 21 or claim 22 and further comprising a wireless communications module.
24. A method of operating a data processing system to provide display signals to a display screen, the method comprising:
generating a display structure comprising a series of display poses of decreasing degree of prominence in a direction away from a reference point of said display structure;
generating a subject entity display signal to display a subject entity icon representative of said current entity at said reference point of said display structure in a display pose of a degree of prominence corresponding to said reference point of said display structure;
and
generating a first sub-set display signal to display an icon representative of an affinity entity in a display pose of a degree of prominence corresponding to an affinity value associated with said affinity entity and said subject entity.
25. A method according to claim 24, further comprising:
receiving data representative of a plurality of affinity entities each associated with an affinity value; and
displaying a corresponding plurality of icons each representative of respective ones of said plurality of affinity entities in respective display poses of a degree of prominence corresponding to respective affinity values associated with respective ones of said plurality of affinity entities and said subject entity.
26. A method according to claim 25, further comprising:
determining a first sub-set of said affinity values satisfying a first criterion for displaying icons representative of a first sub-set of respective affinity entities associated with affinity values in said first sub-set in a display pose of a first decreased degree of prominence; and providing a first sub-set display signal to display said respective icons representative of each of said first sub-set of affinity entities with said first decreased degree of prominence.
27. A method according to claim 25 or claim 26, further comprising:
determining a second sub-set of said affinity entities satisfying a second criterion for displaying icons representative of a second sub-set of respective affinity entities associated with affinity values in said second sub-set in a display pose of a second decreased degree of prominence; and
generating a second sub-set display signal to display said respective icons representative of each of said second sub-set of affinity entities with said second decreased degree of prominence.
28. A method according to claim 27, further comprising responding to user input to select a one of said icons representative of an affinity entity of said first or second sub-set of affinity entities to select said affinity entity and retrieve for display relationship information concerning a relevancy of said selected affinity entity to said subject entity.
29. A method according to claim 19, further comprising:
responding to a second user input to assign said selected affinity entity as a new subject entity;
generating a new subject entity display signal to display a new subject entity icon representative of said selected affinity entity at said reference point of said display structure and in a display pose of a degree of prominence corresponding to said reference point;
determining a third sub-set of third affinity entities, each one of said third sub-set being a third affinity entity comprising a third affinity value associated with said third affinity entity and said new subject entity and wherein said third affinity value satisfies a criterion for displaying respective Icons representative of each said third sub-set of third affinity entities in a display pose of said first decreased degree of prominence; and
generating a first sub-set display signal to display said respective icons representative of each of said third sub-set of entities with said first decreased degree of prominence.
30. A method according to claim 29, further comprising:
determining a fourth sub-set of said third affinity entities, each one of said fourth sub-set comprising a fourth affinity value associated with said new subject entity and wherein a fourth affinity value satisfies a criterion for displaying respective icons representative of each said fourth sub-set of entities in a display pose of said second degree of decreased prominence; and
generating a fourth display signal to display said respective icons representative of each of said fourth sub-set of entities with said second decreased degree of prominence.
31. A method according to any of claim 24 to claim 30, further comprising generating said display structure to comprise a series of concentric display contours each display contour determining display poses of decreasing degree of prominence in a direction away from said reference point of said display structure.
32. A method according to claim 31, further comprising providing display signals for a display screen to display said respective icons representative of said first sub-set of entities along a first of said series of concentric display contours closest to said reference point with said first decreased degree of prominence.
33. A method according to claim 31 or claim 32 dependent on claim 29 or claim 31, further comprising generating display signals for a display screen to display said respective icons representative of said third sub-set of entities along a first of said series of concentric display contours closest to said axial point with said first decreased degree of prominence.
34. A method according to claim 33 or claim 33 dependent on claim 27 or claim 28, further comprising providing display signais for a display screen to display said respective icons representative of each of said second sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
35. A method according to claim 33, further comprising generating display signals for a display screen to display said respective icons representative of each of said fourth sub-set of entities along a second of said series of concentric display contours with said second decreased degree of prominence.
36. A method according to any of claim 31 to claim 35, wherein said series of concentric display contours are circular shaped or polygonal shaped.
37. A method according to claim 36, further comprising providing display signals for a display screen to display said first sub-set of affinity entities at respective vertices of a first polygonal display contour.
38. A method according to claim 36 or claim 37, further comprising providing display signals for a display screen to display said second sub-entities at respective vertices of a second polygonal display contour.
39. A method according to claim 36 to claim 37, dependent on claim 33 or claim 35, further generating display signals for a display screen to display said third subset of affinity entities at respective vertices of a first polygonal display contour.
40. A method according to claim 39, further comprising generating display signals for a display screen to display said fourth sub-set of affinity entities at respective vertices of a second poiygonal display contour.
41. A method according to any preceding claim, further comprising providing an updated affinity value for an affinity entity associated with said subject entity.
42. A method according to claim 29 or claim 30 or any of claim 31 to claim 41 dependent on claim 29 or claim 30, wherein said processing resource is further comprising providing an updated affinity value for an affinity entity associated with said new subject entity.
43. A method according to any of claim 24 to claim 42 for a computing device comprising a display screen.
44. A computer program comprising computer program elements operative in a data processing system to configure said data processing system in accordance with any of claim 1 to claim 23 and or to implement the method of any of claim 24 to claim 43.
45. A carrier medium carrying a computer program according to claim 44.
46. A carrier medium according to claim 45 comprising at least one of the following: a radio frequency signal, an optical signal, an electronic signal, a magnetic disc or tape, solid state memory, an optical disc, a magneto-optical disc, a compact disc, digital versatile disc and a blu-ray disc.
47. A computer program product comprising a carrier medium according to claim 45 or claim 46 configured as a computer readable medium.
48. A data processing system substantially as hereinbefore described delimited according to respective embodiments and with reference to figures 4 to 25 of the accompanying drawings.
49. A method substantially as hereinbefore described delimited according to respective embodiments and with reference to figures 4 to 25 of the accompanying drawings.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662347563P | 2016-06-08 | 2016-06-08 | |
US62/347,563 | 2016-06-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017212269A1 true WO2017212269A1 (en) | 2017-12-14 |
Family
ID=59071003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2017/051658 WO2017212269A1 (en) | 2016-06-08 | 2017-06-07 | Data processing system and data processing method |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2017212269A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138414A1 (en) * | 2008-12-01 | 2010-06-03 | Andrew Newman | Methods and systems for associative search |
US9256682B1 (en) * | 2012-12-05 | 2016-02-09 | Google Inc. | Providing search results based on sorted properties |
-
2017
- 2017-06-07 WO PCT/GB2017/051658 patent/WO2017212269A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138414A1 (en) * | 2008-12-01 | 2010-06-03 | Andrew Newman | Methods and systems for associative search |
US9256682B1 (en) * | 2012-12-05 | 2016-02-09 | Google Inc. | Providing search results based on sorted properties |
Non-Patent Citations (2)
Title |
---|
ANTOINE BORDES ET AL: "Constructing and mining web-scale knowledge graphs", KNOWLEDGE DISCOVERY AND DATA MINING, 24 August 2014 (2014-08-24), 2 Penn Plaza, Suite 701 New York NY 10121-0701 USA, pages 1967 - 1967, XP055391065, ISBN: 978-1-4503-2956-9, DOI: 10.1145/2623330.2630803 * |
BARBARA STARR: "A Layman's Visual Guide To Google's Knowledge Graph Search API", 12 February 2016 (2016-02-12), pages 1 - 13, XP055391352, Retrieved from the Internet <URL:http://searchengineland.com/laymans-visual-guide-***s-knowledge-graph-search-api-241935> [retrieved on 20170717] * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7171438B2 (en) | User interface method and apparatus | |
US10122839B1 (en) | Techniques for enhancing content on a mobile device | |
US9703541B2 (en) | Entity action suggestion on a mobile device | |
CN105653134B (en) | Application switching method and system | |
US10845950B2 (en) | Web browser extension | |
WO2017212268A1 (en) | Data processing system and data processing method | |
US20130246392A1 (en) | Conversational System and Method of Searching for Information | |
JP2006209743A (en) | Task-oriented user interface model for document centric software application | |
US10956425B2 (en) | User attribute resolution of unresolved terms of action queries | |
TW201721364A (en) | Method and system for inputting information | |
US11526575B2 (en) | Web browser with enhanced history classification | |
US11921966B2 (en) | Intelligent response using eye gaze | |
US11586690B2 (en) | Client-side personalization of search results | |
CN105094603B (en) | Method and device for associated input | |
WO2012161928A1 (en) | Techniques to automatically search selected content | |
US20190266153A1 (en) | Searches of highly structured data | |
WO2014117241A1 (en) | Data retrieval by way of context-sensitive icons | |
TWI570593B (en) | System, method, and computer program product for using eye movement tracking for retrieval of observed information and of related specific context | |
US11275777B2 (en) | Methods and systems for generating timelines for entities | |
US20150154682A1 (en) | Enriching product catalog with search keywords | |
CN110659406B (en) | Searching method and device | |
JPWO2010061538A1 (en) | Information search apparatus, information search method, and program | |
CN110140120B (en) | Contextual insights system | |
WO2022184013A1 (en) | Document editing method and apparatus, device, and storage medium | |
CN107463590B (en) | Automatic session phase discovery |
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: 17730903 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: 17730903 Country of ref document: EP Kind code of ref document: A1 |