WO2019241829A1 - Data visualisation method and apparatus - Google Patents

Data visualisation method and apparatus Download PDF

Info

Publication number
WO2019241829A1
WO2019241829A1 PCT/AU2019/050602 AU2019050602W WO2019241829A1 WO 2019241829 A1 WO2019241829 A1 WO 2019241829A1 AU 2019050602 W AU2019050602 W AU 2019050602W WO 2019241829 A1 WO2019241829 A1 WO 2019241829A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
graph
client device
input commands
taxonomy
Prior art date
Application number
PCT/AU2019/050602
Other languages
French (fr)
Inventor
David Wilson
Olivia PENNIE
Original Assignee
BEcoME. Life Design Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2018902191A external-priority patent/AU2018902191A0/en
Application filed by BEcoME. Life Design Pty Ltd filed Critical BEcoME. Life Design Pty Ltd
Publication of WO2019241829A1 publication Critical patent/WO2019241829A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service

Definitions

  • the present invention relates to a method and apparatus for presenting a data visualisation relating to a taxonomy, and in one particular example to a method and apparatus for presenting a data visualisation relating to an occupational taxonomy for use as part of a career planning tool.
  • browser application itself is able to display the representation.
  • browser applications are often limited in memory and processing capabilities, meaning it is necessary to provide access to the data in a manner which allows this to be displayed in a convenient way.
  • an aspect of the present invention seeks to provide a method for presenting a data visualisation relating to a taxonomy, the method being performed using a processing system and client device in communication via a communications network, the method including: in the processing system: generating a search query at least partially in accordance with user input commands provided via the client device; performing a search of a taxonomy database in accordance with the search query to determine search results including: a plurality of taxonomy terms; and, relationships between the plurality of taxonomy terms; generating graph data using the search results, the graph data being indicative of a graph structure generated using the plurality of taxonomy terms and the relationships; transferring the graph data to a client device via the communication network; in an application executed by the client device: rendering a graph visualisation using the graph data, the graph visualisation including a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms, and the number of nodes including a root node
  • the method includes: in the processing system: determining a search results ranking; and, generating the graph data in accordance with the search results ranking; and, in the application executed by the client device, displaying the graph visualisation in accordance with the search results ranking.
  • the method includes rendering the graph visualisation in accordance with a defined number of taxonomy terms.
  • the method includes at least one of: in the processing device, at least one of: performing the search to determine search results in accordance with the defined number of taxonomy terms; filtering search results in accordance with the defined number of taxonomy terms; and, generating graph data including the defined number of taxonomy terms; and, in the application executed by the client device, filtering the graph data to in accordance with the defined number of taxonomy terms.
  • the defined number of taxonomy terms are based on at least one of: user preferences; communications parameters; and, application parameters.
  • the method includes, in the application executed by the client device: determining user input commands indicative of user interaction with the graph visualisation; and, displaying an updated graph visualisation in accordance with the user input commands.
  • the method includes, in the application executed by the client device: updating graph data in accordance with user input commands; and, rendering an updated graph visualisation in accordance using the updated graph data.
  • the method includes: in the processing system: generating an updated search query at least partially in accordance with user input commands provided via the client device; performing a further search of the taxonomy database in accordance with the updated search query to determine updated search results; generating updated graph data using the updated search results; and, transferring the updated graph data to the client device via the communication network; and, in the application executed by the client device, rendering an updated graph visualisation using the updated graph data.
  • the method includes: in the application executed by the client device: determining input data indicative of user input commands; and, transferring the input data to the processing system via the communications network; and, in the processing device, generating the search query using the input data.
  • the method includes, in the application executed by the client device: displaying a first user interface including the graph representation; and, displaying a second user interface that presents content to the user.
  • the method includes in the application executed by the client device, determining the user input commands as inputs provided via the first or second user interface.
  • the second user interface includes a chat window
  • the method includes: generating chat dialogue; and, in the application executed by the client device: displaying the chat dialogue in the chat window; determining user input commands in response to display of the chat dialogue.
  • the method includes interpreting user input commands via second user interface using natural language processing.
  • the method includes generating the chat dialogue using at least one of: user input commands; search results; and, a script.
  • the method includes: using user input commands provided via the second user interface to update the graph representation; and, using user input commands provided via the first user interface to generate chat dialogue.
  • the method includes: using a first module to generate the first user interface; using a second module to generate the second user interface; and, exchanging user input commands between the first and second modules.
  • the graph data are transferred between the processing system and client device as Javascript Object Notation files.
  • the application is a browser application executed by the client device.
  • the browser application generates the representation using Javascript.
  • the method includes determining a user rating associated with at least one taxonomy term in accordance with user input commands.
  • the method includes performing the search using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; a history of previous search queries; a history of previous search results; machine learning techniques.
  • the method includes: generating recommendations at least in part relating to the taxonomy; and, in the application executed by the client device, displaying an indication of the recommendations.
  • the recommendations include at least one of: an indication of one or more taxonomy terms; one or more requirements associated with the taxonomy terms; and, one or more actions.
  • the method includes, in the processing system: generating metrics using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; search queries; search results; and, a behavioural framework; applying the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement by users in response to recommendations.
  • the behavioural parameters relate to factors of at least one of: awareness, aspiration; and, agency.
  • the method is used to provide career guidance and wherein: the taxonomy terms relate to different occupations; and, career planning recommendations are provided relating to at least one of: career planning actions; career planning options; occupations; actions needed to identify different occupations; and, mechanisms for identifying occupations of interest.
  • an aspect of the present invention seeks to provide a system for presenting a data visualisation relating to a taxonomy, the system including a processing system and client device in communication via a communications network, and wherein: the processing system is configured to: generate a search query at least partially in accordance with user input commands provided via the client device; perform a search of a taxonomy database in accordance with the search query to determine search results including: a plurality of taxonomy terms; and, relationships between the plurality of taxonomy terms; generate graph data using the search results, the graph data being indicative of a graph structure generated using the plurality of taxonomy terms and the relationships; transfer the graph data to the client device via the communication network; an application executed by the client device is configured to: render a graph visualisation using the graph data, the graph visualisation including a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms, and the number of nodes including a root node indicative of
  • an aspect of the present invention seeks to provide a method for providing information to assist interaction via a user interface, the method being performed using a processing system and client device in communication via a communications network, the method including: in the processing system: determining information at least partially in accordance with user input commands provided via the client device; and, retrieving a script related to the information; in an application executed by the client device: displaying a first user interface including the information received from the processing system; and, displaying a second user interface including a chat window, the chat window including chat dialogue determined at least in part using the script; and, determining user input commands in response to display of the chat dialogue, wherein the user input commands are provided as inputs provided via the first or second user interface, and wherein the user input commands are used to at least one of: update information displayed via the first user interface; and, generate chat dialogue to be displayed via the second user interface.
  • the method includes interpreting user input commands via the second user interface using natural language processing.
  • the method includes generating the chat dialogue using at least one of: user input commands; search results; and, the script.
  • the method includes: using user input commands provided via the second user interface to update the information; and, using user input commands provided via the first user interface to generate chat dialogue.
  • the method includes: using a first module to generate the first user interface; using a second module to generate the second user interface; and, exchanging user input commands between the first and second modules.
  • the method includes, in the second module: forwarding events indicative of input commands to the first module to cause the first module to update the information; receiving events indicative of user interaction with the information from the first module; and, using events to select chat dialogue for display.
  • the method includes: generating a search query at least partially in accordance with user input commands provided via the client device; and, performing a search in accordance with the search query to retrieve at least one of: the information; and the script.
  • an aspect of the present invention seeks to provide a system for providing information to assist interaction via a user interface, the system including a processing system and client device in communication via a communications network, and wherein: the processing system is configured to: determine information at least partially in accordance with user input commands provided via the client device; and, retrieve a script related to the information; an application executed by the client device is configured to: display a first user interface including the information received from the processing system; and, display a second user interface including a chat window, the chat window including chat dialogue determined at least in part using the script; and, determine user input commands in response to display of the chat dialogue, wherein the user input commands are provided as inputs provided via the first or second user interface, and wherein the user input commands are used to at least one of: update information displayed via the first user interface; and, generate chat dialogue to be displayed via the second user interface.
  • an aspect of the present invention seeks to provide a method for providing career planning recommendations, wherein the method includes, in a processing system: generating metrics using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; search queries; search results; and, a behavioural framework; applying the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement by users in response to recommendations .
  • an aspect of the present invention seeks to provide a system for providing career planning recommendations, wherein the system includes a processing system configured to: generate metrics using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; search queries; search results; and, a behavioural framework; apply the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement previously provided by users in response to recommendations.
  • Figure 1 is a flow chart of an example of a method for presenting a data visualisation
  • Figure 2 is a schematic diagram of an example of a distributed computer architecture
  • Figure 3 is a schematic diagram of an example of a processing system of the architecture of Figure 2;
  • Figure 4 is a schematic diagram of an example of a client device of the architecture of Figure 2;
  • Figures 5A and 5B are a flow chart of a specific example of a method of presenting a data visualisation
  • Figure 6A is a schematic diagram of an example of a search of a taxonomy graph
  • Figure 6B is a schematic diagram of an example of a graph visualisation
  • Figure 6C is a schematic diagram of an example of an updated version of the graph visualisation of Figure 6B;
  • Figure 7 is a flow chart of an example of a method for presenting a dual interface configuration
  • Figure 8A is a schematic diagram illustrating a first example of interaction between two interface modules
  • Figure 8B is a schematic diagram illustrating a second example of interaction between two interface modules;
  • Figure 9 is a flow chart of an example of a method for providing recommendations;
  • Figure 10 is a schematic diagram of an example of recommendation module configurations
  • Figure 11A is a schematic diagram of an adaptive skills framework
  • Figure 11B is a schematic diagram of an example of a behavioural framework
  • Figure 11C is a schematic diagram of an example of a heat map.
  • Figure 11D is a schematic diagram of an example of a dashboard.
  • a taxonomy is taken to be a structured classification scheme, often including terms relating to respective classes, which are generally related to each other, sometimes in a hierarchical manner. Whilst the taxonomy could relate to any type of subject matter, in one preferred example the taxonomy is an occupational taxonomy including terms relating to different occupations, which is suitable for use in providing career guidance. In this example, the taxonomy terms typically define particular types of occupation, with related occupations being identified by relationships between the terms. The terms may also include one or more attributes, such as information regarding what the occupations entails, details of qualifications, or other requirements associated with the occupation, or the like.
  • the processing system generates a search query.
  • the search query is typically generated at least partially in accordance with user input commands provided via the client device. This can be achieved in any one of a number of manners and could involve having a user provide a search term, such as a keyword, details of qualifications or the like, via the client device, with this information then being forwarded to the processing system, allowing the search query to be generated.
  • the search query could be generated by the client device and transferred to the processing system.
  • search queries can additionally and/or alternatively be generated based on user interaction with a data visualisation, or through interaction with an alternative user interface, such as a chat window, or the like.
  • a search of a taxonomy database is performed in accordance with the search query to determine search results at step 120.
  • the search results typically include a plurality of taxonomy terms, including at least one closest match taxonomy term, which is a closest match to the search term, and a number of related taxonomy terms.
  • the search results are also typically indicative of relationships between the plurality of taxonomy terms, for example identifying if an occupation is related to another occupation, is a subset or specialisation of another occupation, or the like.
  • the manner in which the search is performed will vary depending on the preferred implementation and the manner in which the taxonomy database is configured. For example, this may include applying queries to the taxonomy database, such as SQL (Structured Query Language) queries, or the like.
  • the processing system generates graph data using the search results.
  • the graph data are indicative of a graph structure generated using the plurality of taxonomy terms and the relationships.
  • the particular form of the graph data and the manner in which this is generated will vary depending upon the preferred implementation.
  • a number of algorithms are known which can take structured data and transform this into a network graph, which is then encoded to create the graph data.
  • the graph data represents the taxonomy terms and the relationships between the different taxonomy terms and is typically encoded in a format that utilises a low volume of data to facilitate transfer over a communications network.
  • this is performed using JavaScript Object Notation (JSON) files which are particularly useful in transferring details of hierarchical relationships utilising a low volume of data.
  • JSON JavaScript Object Notation
  • the graph data are transferred to the client device via the communications network, allowing an application executed by the client device to render a graph visualisation at step 150.
  • the graph visualisation includes a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms and a number of connections between the nodes, with the connections being indicative of relationships between the taxonomy terms. Additionally, a root node is typically identified, which is indicative of the search term and/or the closest match taxonomy term.
  • the particular manner in which the visualisation is generated and rendered will vary depending upon the preferred implementation. In one example, a known visualisation algorithm is used to generate a network visualisation, with this being used in conjunction with a JavaScript module in order to display the representation at step 160, although it will be appreciated that other interpreted script languages or compiled executable languages could be used.
  • the user can interact with the displayed graph visualisation, to thereby manipulate, and hence update, the visualisation.
  • Updating the visualisation can either be performed locally, by returning to step 150 to update the received graph data, or update the representation based on the graph data, or could be achieved remotely by generating a new search query based on an outcome of interaction with the visualisation by returning to step 100.
  • this arrangement minimises the requirement to transfer data between the processing system and the client device, thereby allowing this to be used in scenarios where limited communications might be available, such as when using mobile phones or other portable devices.
  • this can be used to only transfer data relating to the particular search results, so only a subset of the taxonomy database needs to be provided.
  • providing this in a structured format, such as using a JSON file can be used to enable relationships between the terms to be used to reduce the amount of data being transferred.
  • a child term can inherit requirements or attributes from a parent term, meaning this information does not need to be duplicated in the information being transferred.
  • rendering the visualisation locally on the client device allows this to be more easily updated, for example, based on changes to graph data. This allows localised manipulations to be performed without requiring additional interaction with the processing system, thereby again reducing data download requirements.
  • the above-described arrangement provides a mechanism for enabling a taxonomy search to be performed with results of this being provided to a user via a communications network and presented in a visual manner, without encountering restrictions that might result from a client device application having limited memory and processing capabilities and whilst minimising the transfer of data between the processing system and client device.
  • the method includes determining a search result ranking and generating the graph data in accordance with the search results ranking.
  • a ranking can be used to indicate a strength of a relationship between two taxonomy terms, for example to define how similar the occupations are, with the graph data being generated in accordance with the ranking, either to reflect the strength of the relationship, and/or to limit a number of taxonomy terms included. For example, taxonomy terms whose ranking falls below a threshold can be excluded thereby reducing the number of terms that need to be displayed. This allows the data visualisation to be generated to reflect the ranking, either showing the strength of the ranking, or by excluding nodes where relationships fall below a predetermined ranking strength.
  • the method includes rendering the graph visualisation in accordance with a defined number of taxonomy terms.
  • a defined number of taxonomy terms either by displaying less than a maximum number or more than a minimum number, can be used to ensure that the graph visualisation presents meaningful information, whilst also working within the confines of limited processing capabilities available to the application executed by the client device.
  • the application executed by the client device may include a browser application which can have limited memory.
  • graph visualisations typically include a large number of nodes and connections, these can be computationally expensive to render and manipulate. Accordingly, limiting the number of nodes displayed can ensure that this allows the graph visualisation to be easily manipulated despite the fact that this is presented in a browser or other similar application.
  • the requirement to meet the defined number of taxonomy terms can be met remotely, for example, by having the processing device determine a limited number of search results in accordance with the defined number of taxonomy terms, filter search results in accordance with the defined number of taxonomy terms, or generate graph data including the defined number of taxonomy terms.
  • this could include filtering search results to limit a number of taxonomy terms, or progressively generating graph data based on search results until a defined number of taxonomy terms is reached.
  • this can be performed locally by filtering graph data in the application executed by the client device. For example, the graph data may rank the most important taxonomy terms, with the application operating to generate the visualisation progressively adding nodes until a required number is reached.
  • the defined number of taxonomy terms can be determined in any one of a number of appropriate manners. For example, this could be based on user preferences so that the user could define a default number of nodes to be included in any visualisation, thereby making the visualisation something they are comfortable to view. Additionally and/or alternatively, this could be based on communications or application parameters. For example, if only a low bandwidth connection is available, or if the user only has limited data download available, then the number of taxonomy terms included in the graph data can be minimised to limit the amount of data being transferred. Similarly, the browser application may include only limited memory or processing capabilities in which case the number of taxonomy terms could be smaller than if larger capabilities are provided. It will be appreciated that this could be defined automatically, for example by analysing processing, memory or communications capabilities, or could be defined manually based on user inputs, for example in response to viewing of an initial representation, or known capabilities of the client device.
  • the visualisation can be manipulated and updated in accordance with user input commands.
  • the user can select one or more nodes and operate to remove these, or expand these to show additional related nodes, view further details regarding the taxonomy terms associated with the nodes, or the like .
  • the manner in which the manipulations are performed will vary depending upon the preferred implementation but typically this involves determining user input commands indicative of user interaction with the graph visualisation and then displaying an updated graph visualisation in accordance with the user input commands, for example, to show additional nodes, remove nodes view attributes associated with nodes, or the like.
  • this process is performed locally by having the application executed by the client device update graph data in accordance with the user input commands and then render an updated graph visualisation in accordance with the updated graph data.
  • the graph data initially received from the processing system may include additional graph data that is not displayed in the initial graph visualisation, in which case the client device can simply retrieve additional graph data from the initially received graph data and use the additional graph data when generating an updated graph visualisation.
  • this may include updating the graph data, for example by deleting taxonomy terms, or the like, and then generating an updated graph visualisation on that basis.
  • updating of the visualisation can include remote processes.
  • the processing system could generate an updated search query based on user input commands provided by the client device, perform a further search of the taxonomy database in accordance with the updated search query to determine updated search results, generate updated graph data using the updated search results and transfer the updated graph data to the client device via the communications network, allowing the client device to render an updated graph visualisation.
  • the user could select a node of interest within the original graph representation with the taxonomy term associated with the respective node being used to perform additional searching to thereby retrieve further related taxonomy terms, which can then be added to the visualisation.
  • search queries are generated by the processing system by having the client device determine input data indicative of user input commands and then transfer an indication of the input data to the processing system, via the communications network.
  • This allows the processing device to generate the search query using the input data.
  • the user may input a search query term such as an indication of an area or field of interest, or existing qualifications, with this being used to generate the search query to identify occupations relevant to the area of interest or qualifications.
  • the search query could be generated by the client device and transferred to the processing system to allow the search to be performed.
  • the system can also be adapted to determine a user engagement associated with at least one taxonomy term, in accordance with user input commands, to assess the value or relevance of the identified term. For example, if the user reviews additional information relating to a taxonomy term, or uses this as a basis for further searching, this indicates that the term was of relevance to the user.
  • the user engagement could include having the user provide a user rating.
  • the user rating could be of any appropriate form and may include a“like” or“dislike” or could include a numerical rating, such as a rating from“1” to“10”. The rating can be used to provide feedback, which can in turn be used to improve search results.
  • the user rating can be taken into account when performing further search results, for example, to discount taxonomy terms similar to those previously associated with a low rating.
  • the rating can be used as part of a machine learning technique, to thereby assist in identifying relevant occupations or other taxonomy terms.
  • the search can be based on one or more other criteria, including but not limited to user preferences, user interests, user qualifications, user engagement, user behavioural parameters, input data obtained from a plurality of user input commands, a history of previous search queries, a history of previous search results, or the like. It will be appreciated that these can be used to define search terms and/or filter search results, thereby helping to refine the search process, and thereby improve the relevant of search results.
  • a first user interface is displayed including the graph representation, whilst a second user interface is displayed that presents alternative content to the user.
  • User input commands can then be provided as inputs via either the first or second user interface, with this being used to control information displayed to the user again via either the first or second interface.
  • manipulations or other inputs provided via the graph representation could be used to alter the content that is displayed to the user via the second user interface.
  • inputs provided via the second user interface could be used in order to manipulate the graph representation.
  • the information could be passive, and might include, for example, information regarding a taxonomy term selected via the graph representation.
  • the second interface is used to display interactive content, and specifically, content which can be used to guide the user in how they interact with the graph visualisation, thereby helping the user obtain the most benefit possible from interacting with the graph visualisation.
  • the method includes generating chat dialogue, such as phrases, statements, questions, instructions, or the like, displaying the chat dialogue in the chat window and then determining user input commands provided in response to display of the chat dialogue. These user input commands can then be used to trigger presentation of further chat dialogue, and/or to update the appearance of the graph visualisation, for example, by altering a root node, altering nodes that are displayed, performing further search queries in order to update the graph visualisation, or the like.
  • chat dialogue such as phrases, statements, questions, instructions, or the like
  • inputs provided by the second user interface are provided in the form of natural language phrases, with these being interpreted using natural language processing, so that the user effectively perceives that they are interacting with a person, in the form of a chat based discussion, with this leading the user in interacting with the graph visualisation.
  • the second user interface can be used to simulate a chat environment with the user being asked questions relating to the graph visualisation, prompting them either to alter the visualisation or provide written responses, which can then be used to further update the graph visualisation. This provides a particularly useful mechanism for refining what is displayed on the graph visualisation and can assist leading users to identify relevant taxonomy terms, and in one example, occupations of potential interest.
  • the chat dialogue is typically generated using a script and optionally further taking into account user input commands and/or search results.
  • one or more scripts can be generated setting out different chat scenarios.
  • Each scenario will typically include a branching tree structure defining a number of different conversation paths, each including one or more dialogue sections, and with the particular branch of the tree being selected based on user input commands or search results, thereby refining the conversation to make it relevant to the particular searching being performed by the user.
  • inputs provided via one interface can be used to control information presented via the other user interface, so that user commands provided via the second user interface can be used to update the graph representation, whilst user input commands provided via the graph representation can be used to generate the chat dialogue, and specifically to choose the next dialogue section presented.
  • this is achieved by utilising a first module to generate the first user interface and a second module to generate the second user interface, with user input commands being exchanged between the first and second modules, for example using a handshake or other suitable protocol, allowing the interfaces to be updated as required.
  • the graph data are transferred between the processing system and client device as JavaScript Object Notation files. These are particularly beneficial as they have a low data volume and are easy to manipulate at the client device side, allowing these to be used as the basis for generating updated graph visualisations. Additionally, these can easily represent the hierarchical nature of the taxonomy, enabling the volume of data being transferred to be reduced.
  • the application is typically a browser application, or general app executed by the client device, although any appropriate arrangement could be used. In this arrangement however, the browser application typically generates the representation at least in part using JavaScript.
  • the system in addition to simply displaying information regarding taxonomy terms, the system can also be adapted to generate recommendations, which may at least in part relating to the taxonomy, although this is not necessarily essential.
  • the method typically includes generating recommendations and then having the client device display an indication of the recommendations.
  • the recommendations could be of any appropriate form and may include an indication of one or more taxonomy terms, such as taxonomy terms that might be of interest to the user, requirements associated with taxonomy terms, one or more actions, such as actions that would need to be performed by the user in order to meet requirements associated with the taxonomy terms, or the like.
  • the recommendations could also be unrelated to the taxonomy, so in the case of career planning, might relate to career planning more broadly and not necessarily specific occupations detailed in an occupations taxonomy.
  • the manner in which recommendations are made will vary depending upon the preferred implementation. In one example, this is performed at least in part using machine learning techniques.
  • one or more metrics can be generated based on input data, which can include user preferences, user interests, such as areas of interest to user, user qualifications, such as details of education or other training, user behavioural patterns, user engagement, user ratings, input data obtained from a plurality of user input commands, such as interactions with the graph visualisation, a history of previous search queries and/or search results, a behavioural framework, or the like.
  • this process can take into account a wide range of data, including data regarding the user, such as abilities or interests of the user, and as well as details of previous interactions with the previously described visual representation system, allowing this to provide recommendations of occupations, or actions needed to meet the requirements associated with particular occupations, or the like.
  • the computational model is typically indicative of a relationship between different metrics and recommendations, and can be obtained by applying machine learning to user engagement associated with recommendations previously provided to users, based on their metrics.
  • user engagement can be used to assess the value of recommendations provided to the user, as well as taxonomy terms which users deem to be relevant or not relevant.
  • Machine learning can then be used together with this information in order to ascertain the likely recommendations that would suit a different combination of metrics associated with a user.
  • different recommendations may apply depending upon user preferences, interests, qualifications, or the like, as well as the outcomes of previous searches. Accordingly, by performing machine learning techniques, this allows appropriate recommendations to be more easily identified, thereby improving the relevance of recommendations provided to users.
  • the above-described processes are used for providing career guidance, with the taxonomy terms relating to different occupations and recommendations relating to career planning, such as researching occupations and their requirements, broadening options, identifying strengths, expanding skillset, iterating on ideas, portfolio building, testing ideas, practical job hunting skills, or the like, as well as such as career planning options or actions, occupations, actions needed to identify different occupations, mechanisms for identifying occupations of interest, or the like.
  • the process is performed by one or more processing systems and client devices operating as part of a distributed architecture, an example of which will now be described with reference to Figure 2.
  • a number of base stations 210 are coupled via communications networks, such as the Internet 240, and/or one or more local area networks (LANs), to a number of client devices 230.
  • communications networks such as the Internet 240, and/or one or more local area networks (LANs)
  • client devices 230 are for the purpose of example only, and in practice the processing systems 210 and client devices 230 can communicate via any appropriate mechanism, such as via wired or wireless connections, including, but not limited to mobile networks, private networks, such as an 802.11 networks, the Internet, LANs, WANs, or the like, as well as via direct or point-to-point connections, such as Bluetooth, or the like.
  • each processing system 210 is able to perform a search of a taxonomy database and generate graph data, providing this to a client device 230, allowing the client device 230 to display a visual representation, and/or generating recommendations that can then be displayed by the client device 230.
  • the processing system 210 is a shown as a single entity, it will be appreciated that the processing system 210 can be distributed over a number of geographically separate locations, for example by using processing systems 210 and/or databases that are provided as part of a cloud based environment.
  • the above described arrangement is not essential and other suitable configurations could be used.
  • FIG. 3 An example of a suitable processing system 210 is shown in Figure 3.
  • the processing system 210 includes at least one microprocessor 300, a memory 301, an optional input/output device 302, such as a keyboard and/or display, and an external interface 303, interconnected via a bus 304 as shown.
  • the external interface 303 can be utilised for connecting the processing system 210 to peripheral devices, such as the communications network 240, databases, other storage devices, or the like.
  • peripheral devices such as the communications network 240, databases, other storage devices, or the like.
  • a single external interface 303 is shown, this is for the purpose of example only, and in practice multiple interfaces using various methods (eg. Ethernet, serial, USB, wireless or the like) may be provided.
  • the microprocessor 300 executes instructions in the form of applications software stored in the memory 301 to allow the required processes to be performed.
  • the applications software may include one or more software modules, and may be executed in a suitable execution environment, such as an operating system environment, or the like.
  • the processing system 210 may be formed from any suitable processing system, such as a suitably programmed client device, PC, web server, network server, or the like.
  • the processing system 210 is a standard processing system such as an Intel Architecture based processing system, which executes software applications stored on non-volatile (e.g., hard disk) storage, although this is not essential.
  • the processing system could be any electronic processing device such as a microprocessor, microchip processor, logic gate configuration, firmware optionally associated with implementing logic such as an FPGA (Field Programmable Gate Array), or any other electronic device, system or arrangement.
  • FIG. 4 An example of a suitable client device 230 is shown in Figure 4.
  • the client device 230 includes at least one microprocessor 400, a memory 401, an input/output device 402, such as a keyboard and/or display, and an external interface 403, interconnected via a bus 404 as shown.
  • the external interface 403 can be utilised for connecting the client device 230 to peripheral devices, such as the communications networks 240, databases, other storage devices, or the like.
  • peripheral devices such as the communications networks 240, databases, other storage devices, or the like.
  • a single external interface 403 is shown, this is for the purpose of example only, and in practice multiple interfaces using various methods (eg. Ethernet, serial, USB, wireless or the like) may be provided.
  • the microprocessor 400 executes instructions in the form of applications software stored in the memory 401 to allow communication with the processing system 210, for example to allow graph data to be received.
  • the client devices 230 may be formed from any suitable processing system, such as a suitably programmed PC, Internet terminal, lap-top, or hand-held PC, and in one preferred example is either a tablet, or smart phone, or the like.
  • the client device 230 is a standard processing system such as an Intel Architecture based processing system, which executes software applications stored on non volatile (e.g., hard disk) storage, although this is not essential.
  • client devices 230 can be any electronic processing device such as a microprocessor, microchip processor, logic gate configuration, firmware optionally associated with implementing logic such as an FPGA (Field Programmable Gate Array), or any other electronic device, system or arrangement.
  • a microprocessor microchip processor
  • logic gate configuration logic gate configuration
  • firmware optionally associated with implementing logic such as an FPGA (Field Programmable Gate Array), or any other electronic device, system or arrangement.
  • FPGA Field Programmable Gate Array
  • one or more processing systems 210 acts to perform searches or generate recommendations based on user inputs provided via the client devices 230, with resulting graph visualisations or recommendation indications being displayed by the client devices 230.
  • input data and commands are received from the client devices 230 using via a webpage, with resulting visualisations being rendered locally by a browser application, or other similar application executed by the client device 230.
  • the processing system 210 is therefore typically a server (and will hereinafter be referred to as a server) which communicates with the client device 230 via a communications network 240, or the like, depending on the particular network infrastructure available.
  • the server 210 typically executes applications software for hosting webpages, as well as performing other required tasks including storing, searching and processing of data, with actions performed by the processing system 210 being performed by the processor 300 in accordance with instructions stored as applications software in the memory 301 and/or input commands received from a user via the I/O device 302, or commands received from the client device 230. It will also be assumed that the user interacts with the server 210 via a GUI (Graphical User Interface), or the like presented on the client device 230, and in one particular example via a browser application that displays webpages hosted by the server 210, or an App that displays data supplied by the server 210. Actions performed by the client device 230 are performed by the processor 400 in accordance with instructions stored as applications software in the memory 401 and/or input commands received from a user via the I/O device 402.
  • GUI Graphic User Interface
  • step 500 the user selects to view a graph visualisation, typically by selecting an appropriate option on a webpage hosted by the server 210, and displayed using the browser application executed by the client device 230.
  • the user is then presented with an initial input field allowing the user to enter a search term at step 505.
  • the search term typically includes one or more keywords, and could broadly relate to a subject matter area of interest to the user, or the like.
  • the search term is transferred to the server 210 at step 510, allowing the server 210 to perform a search of an occupations taxonomy database at step 515.
  • the search query can be generated using other criteria.
  • the user may establish a user profile, which can be stored at the server end, and includes information, such as user interests, user expertise, user qualifications, details of previous searches, ratings, or the like. These can be used to form the search query, and/or could be used as a mechanism for filtering search results, for example to exclude occupations that would be unsuitable for the user, for example falling outside of their scope of interest, being excluded due to qualification requirements, or the like.
  • the server 210 retrieves relevant search results from the taxonomy database at step 520, which will typically include one or more closest matches, such as exact matches, and one or more near matches.
  • matching involves searching for taxonomy terms having a name or attributes including the keywords entered by the user, or synonyms thereof.
  • any suitable matching process may be used, depending on the preferred implementation.
  • FIG. 6A shows a graph representation of an entire taxonomy 601, including terms 602 interconnected by relationships 603.
  • a search term 611 is provided, with this being used to identify matching terms 622.1, corresponding to terms that a direct a match for the search term and closely related terms 622.2, which are closely related to the search term.
  • the server 210 then processes these to determine nodes that should be included in the graph representation. In order to do this, the server 210 selects a next level of taxonomy terms at step 525.
  • the server 210 determines whether a suitable number of terms have been retrieved.
  • a suitable number of terms correspond to sufficient terms to make the graph visualisation useful to the user, but not too many terms to prevent the graph visualisation being generated and manipulated in real time.
  • the assessment at step 530 may be performed taking into account processing capabilities of the browser application executed by the client device 230, user preferences, such as any limitations defined in user settings, information regarding available data bandwidth, or the like.
  • step 525 is repeated using a different value of N.
  • the level selection is expanded by returning to step 525 with this process being repeated until sufficient results are obtained.
  • the server 210 generates graph data.
  • the graph data are in the form of a JSON file and includes information regarding the retrieved taxonomy terms, relationships between the taxonomy terms, and other relevant information, such as attributes associated with the terms, including details of the occupation, requirements associated the occupation, or the like.
  • the graph data are transferred to the client device at step 540, allowing the client device to render a graph representation at step 545.
  • This is typically performed utilising known graphing algorithms, which define a layout of the representation, in particular by creating nodes corresponding to each of the taxonomy terms, and then laying out the nodes by spacing the nodes within a 2D space based on the relationships between the corresponding taxonomy terms. Connections between the nodes are then created representing the relationships between the different terms.
  • the representation is then physically rendered using Javascript, to allow the representation to be displayed to the user at step 550.
  • FIG. 6B An example graph visualisation is shown in Figure 6B, which includes a window 631 displaying matching nodes 632.1, closely related nodes 632.2 and any intervening nodes 632.3.
  • the nodes are connected back to a root node 634, corresponding to the search term, and which may represent an identical match, if only a single identical match exists.
  • Connections 633 are also displayed, with a weight of each connection representing a ranking or strength of the relationship between the corresponding terms.
  • the user is then able to interact with the representation, for example by providing input commands at step 555, such as mouse clicks, or the like.
  • input commands such as mouse clicks, or the like.
  • This allows the user to change the appearance of the graph visualisation and explore the representation to understand how different terms, and in particular, occupations, are related, to view additional information regarding occupations, or the like.
  • a range of different manipulations can be performed, and the manner in which this is achieved will vary depending on the manipulation, and primarily whether the manipulation is a local or remote manipulation. In this regard, a local manipulation can be performed without requiring server input, whilst a remote manipulation might require additional graph data to be retrieved from the server 210.
  • step 565 If a local manipulation is detected at step 560, the process proceeds to step 565 to optionally update the graph data. For some manipulations, including moving a focus, such as setting a different node as the root node, zooming, panning, or the like, the graph data remains unchanged, in which case the process can simply return to step 545, allowing the representation to be re-rendered, based on the user input. Alternatively, some manipulations may simply require additional information is displayed, which may not require changes to the graph visualisation, for example by displaying a pop-up showing additional information regarding a selected node, such as to display requirements associated with an occupation, details of the occupation, or the like.
  • some local manipulations may update the graph data. For example, if the user selects to delete a node, this can be achieved by locally updating the graph data at step 565, to remove the node, allowing the representation to be re-rendered based on the updated graph data at step 545. It will be appreciated that in this process, the original graph data may be stored, allowing this to be re-used, for example if the user selects to re-instate a deleted node. Alternatively, the graph data may be unchanged, with the deleted node simply being ignored in the rendering process.
  • a search term is generated based on the user input commands at step 570. For example, if the user selects to view further nodes related to a selected node, a search term can be determined based on the taxonomy term associated with the selected node, with this being returned to the server at step 510 allowing a further search to be performed. An example of this is shown in Figure 6C, in which a user selects a node, causing additional related nodes to be retrieved by the server 210 and displayed.
  • a user selects a dual interface view, typically by selecting an appropriate option on a webpage hosted by the server 210, and displayed using the browser application executed by the client device 230.
  • a script is retrieved from the server 210 at step 705.
  • the script typically includes chat dialogue including a sequence of dialogue sections, such as statements, questions, or comments, which are arranged in a structured format so that when these are presented to the user in conjunction with user responses, they provide the appearance of a chat conversation.
  • the script is typically formed using a branching tree structure, with different paths through the structure being selected based on different user inputs, so that users experience unique interactions that are specific to them and the inputs they provide.
  • information for display in the first interface is also retrieved.
  • the nature of the information will vary depending on the preferred implementation, and in one example, this could include a graph visualisation similar to that described above, although this is not essential and in practice any information could be displayed. However, where the system is particularly applicable is where assistance is required navigating and/or interacting with the information.
  • Particular examples of the types of information include search interfaces, shopping environments, forms, such as tax returns or similar, or the like. It will be appreciated that the information can be retrieved at the same time as the script, and in some examples as part of a single process. For example, a user may access a website, at which point website content can be retrieved together with an associated script, to assist the user in navigating the website.
  • First and second interfaces are then displayed to the user in the browser application at steps 710 and 715 respectively, with the information and chat dialogue typically being displayed in respective first and second interfaces, formed by respective windows.
  • the chat dialogue commences with an initial root phrase selected from the script, whilst the information might be a default information.
  • the information is a graph representation, optionally created using a generic or no search term, or more typically an initial user specified search term.
  • the script may prompt the user to enter a search term defining a field of interest, such as“data scientist”, with this being used to perform a search and generate graph visualisation, which is displayed in the first window using the process described above with respect to Figures 5A and 5B.
  • the user provides a response to the chat dialogue at step 720.
  • the response can be entered via the second user interface, for example by providing a text input reply to the previous presented phrase, selecting a presented response option, or the like.
  • a response can be provided via the first user interface, for example by allowing the user to selecting information of interest, such as a particular node on the graph representation.
  • chat dialogue The manner in which this is performed will largely be directed by the chat dialogue, so that for example this direct the user to select a particular piece of information, or user input of interest, in which case input is via the first interface, or could ask the user to enter a search term or provide a chat response, in which case input is via the second interface.
  • the response is optionally used to update the information at step 725, for example by retrieving further information, altering the information or the like, with this being displayed at step 710.
  • the information includes a graph representation
  • this can be performed using the techniques outlined above.
  • a subsequent chat dialogue is selected at step 730, typically depending on the previous user input, which is used to select a next chat dialogue option from the script.
  • the chat dialogue is then displayed at step 715, allowing this process to be repeated.
  • the above described process provides a dual interface arrangement, in which information can be displayed in a first user interface, whilst chat dialogue is displayed in a second user interface.
  • User inputs can be provided via either interface, with inputs via one interface having the ability to influence the information and/or chat dialogue displayed.
  • this can be used to provide an intuitive way of guiding a user through interaction with information presented via the first user interface, facilitating the user’s understanding of the information and how best to interact with it.
  • inputs provided by the second user interface are provided in the form of natural language phrases, with these being interpreted using natural language processing, so that the user effectively perceives that they are interacting with a person, in the form of a chat based discussion, with this leading the user in interacting with the graph visualisation.
  • the second user interface can be used to simulate a chat environment with the user being asked questions relating to the information, prompting them either to interact with the information or provide written responses, which can then be used to further update the information. This provides a particularly useful mechanism for refining the information.
  • this is achieved as part of a searching process, with the method including generating a search query at least partially in accordance with user input commands provided via the client device and performing a search in accordance with the search query to retrieve the information and/or the script, although it will be appreciated that other mechanisms could be used.
  • the chat dialogue is typically generated using a script and optionally further taking into account user input commands and/or search results.
  • one or more scripts can be generated setting out different chat scenarios.
  • Each scenario will typically include a branching tree structure defining a number of different conversation paths, each including one or more dialogue sections, and with the particular branch of the tree being selected based on user input commands or search results, thereby refining the conversation to make it relevant to the particular searching being performed by the user.
  • Inputs provided via one interface can be used to control information presented via the other user interface, so that user commands provided via the second user interface can be used to update the information, whilst interaction with the information can be used to generate the chat dialogue, and specifically to choose the next dialogue section presented.
  • this is achieved by utilising a first module to generate the first user interface and a second module to generate the second user interface, with user input commands being exchanged between the first and second modules, for example using a handshake or other suitable protocol, allowing the interfaces to be updated as required.
  • this is achieved by having the second module forward events indicative of input commands to the first module to cause the first module to update the information, receive events indicative of user interaction with the information from the first module and then use events to select chat dialogue for display.
  • An example of this process will now be described in more detail with reference to Figures 8 A and 8B, which show a functional structure implemented in order to display the dual interface arrangement. Whilst the following example will be discussed specifically with respect to the display of a graph visualisation in the first interface, it will be appreciated that the same techniques could be applied to other forms of information, and the description is not therefore intended to be limiting.
  • the system includes a data visualisation module 810, which displays the first user interface 811, and a data collector module 820, which displays the second user interface 822 and maintains an internal state machine 821.
  • the data visualisation module 810 and data collector module 820 are connected via an event integration bus 830, which allows events, such as user inputs, to be transferred between the modules.
  • the data visualisation module 810 includes a user interface event bus 812, which allows selection of events 813 to be interpreted, so that the graph visualisation can be modified.
  • the event bus 812 is in communication with an event forwarder 813, which allows events to be submitted to the event integration bus 830, for transfer to the data collector module 820.
  • the data visualisation module 810 also includes an integration event monitor 815, which receives events from the event integration bus 830, and a visualiser API (Application Programming Interface) 816, which updates the graph visualisation
  • the data collector module 820 includes an internal state machine, which is represented in the diagram by box 821, which shows internal states 821.1 representing an example chronological series of state changes in the state machine, which correspond to different stages of the chat dialogue as derived from the script branching tree structure.
  • the states 821.1 interface with the integration event bus 830, allowing events to be transferred to or received from the integration event bus 830, whilst also controlling the content of dialogue boxes 822.1 , which are displayed in the second interface 822 allowing the user to provide responses 822.2.
  • the state machine might remain in any given state for an indefinite period while awaiting user input, and that the state machine can be influenced, aborted or loaded with a different chat script, even if it is awaiting user input, based on user actions in the first interface.
  • An example of the process for using user interaction with the graph to control the chat interface will now be described with reference to Figure 8A.
  • the state machine 821 causes a first dialogue section to be presented to the user, with the user responding, thereby causing a second dialogue section to be selected from the script based on the user response, with the second dialogue section being displayed in state 2.
  • the user then responds, providing a user response 831, which involves the user selecting a node within the graph representation displayed via the first user interface 811.
  • the node selection event is forwarded by the event forwarder 814, at 832, with the forwarded event including a payload corresponding to an identity of the selected node.
  • the event and payload are routed via the integration event bus 830 to the state machine 821 at 833.
  • the state machine 821 waits in state 2, until the event 833 is received, at which point the state machine 821 uses the event payload, and in particular the identity of the selected node, to trigger state 3, which selects a next dialogue section from the script and causes this to be displayed via the chat interface 822. A further user response is provided, allowing the state machine to progress to the next state and display a further dialogue section, which is relevant to the selection made by the user. This process can then be repeated allowing ongoing interaction with the graph visualisation.
  • a dialogue section is presented to the user based on the script, with the user selecting a response option 841.
  • the state machine 821 forwards an indication of the selected user option 842, via the event integration bus 830, which forwards this as a data collection event 843 to the integration event monitor 815.
  • the integration event monitor 815 determines an event payload corresponding to the selected user option, and uses this to provide instructions to the visualiser API 816, causing this to update the graph visualisation, using either local or remote manipulations, as previously described.
  • state machine progresses to state 9 to select a next dialogue section from the script, which is then displayed to the user via the chat interface 822. This in turn prompts the user to provide text input 844, which is then passed by state 9 to the event integration bus 830 at 845, before being provided to the integration event monitor 815, allowing the graph visualisation to be further updated based on the text input.
  • this process can be performed iteratively progressively updating both the graph representation and the displayed chat dialogue, based on the script. This is arranged so that the user progresses through a conversation, which leads the user to explore the occupations taxonomy, via the graph visualisation, which can assist in identifying occupations that may be of interest to them, identify a next step in a career planning process, identify further areas to explore, or the like.
  • this guided search process is far more successful in allowing users to explore potential occupations that are aligned with their interests, expertise and qualifications, allowing them to more readily identify potential occupations of interest.
  • input data are acquired.
  • the input data can be any one of a number of forms as previously discussed and could include any one or more of user preferences, user interests, user qualifications, user engagement, user behavioural patterns, user ratings, user input commands, search queries, including current and historical search queries, search results, or the like.
  • the input data can be acquired in any appropriate manner, and in one example, this could involve the use of data collection techniques, such as surveys, outcomes from chat discussions performed using chat bots and/or the process outlined above, retrieving data from user profile, logged events, such as details of interactions with the graph visualisation, or the like.
  • the metrics are generated from the input data, with the nature of the metrics varying depending on the preferred implementation.
  • the metrics could include a list of occupations of interest, details of user qualifications, such as grades or the like, ratings associated with previous displayed content or occupations, the number of times details of particularly occupations have been viewed, lists of occupations that have been identified in search results, or the like.
  • the particular metrics used are typically derived from the outcome of training a computational model using machine learning techniques.
  • the computational model is typically trained using a variety of different combinations of different metrics, based on recommendations that users have rated, with the metrics that lead to the best model being selected following an iterative training process.
  • the metrics are applied to the computational model at step 910, with this operating to provide one or more recommendations as outputs.
  • the nature of the outputs from the model will vary depending on the manner in which the model is used, and the preferred implementation.
  • the recommendations could include lists of occupations that might be of interest to the user, and which the user should therefore explore more thoroughly.
  • the recommendations could include recommendations for performing additional research, such as to provide additional information by completing surveys, or similar.
  • the recommendations could include outlines of further education or qualifications that might be required in order to meet requirements associated with one or more occupations, or the like.
  • the recommendations are displayed to the user at step 920, allowing the user to review the recommendations and take appropriate action.
  • the recommendations will also typically be stored, allowing these to be reviewed and optionally accessed by an overseer, such as a teacher or career guidance counsellor.
  • an overseer such as a teacher or career guidance counsellor.
  • the above described process uses machine learning to help determine recommendations for users, including recommendations relating to actions the user may wish to perform, occupations that might be of interest, or the like.
  • the use of machine learning enables the system to automatically provide recommendations, and not just simply guide the user in exploring details of available occupations.
  • this typically results in a recommendation process that is far more effective than one based solely on the input of a person.
  • the user engagement can be monitored at step 925, with this being used to update the model at step 930, so that the model becomes more accurate.
  • User engagement can be assessed in a wide variety of manners, and this could include a user providing a user rating, so that if a user rates a recommendation poorly, this will adjust the model so that it is less likely that a similar recommendation will be made in future.
  • other mechanisms of monitoring engagement can also be used. For example, if the user spends a long time reviewing results displayed via the graph visualisation, this indicates that these are of interest, and that the recommendation was good, whereas if results are only skimmed or reviewed briefly, this indicates that recommendations were less relevant.
  • a wide variety of different metrics could be used to assess user engagement, including ongoing interaction with the system, further searching, user ratings, user behaviours, user responses, or the like.
  • input data are collected by an input module 1010, which collects input data relating to mindsets 1011, traits 1012, behaviours 1013 and desired future directions 1014.
  • Each of these can be collected via a respective collection mechanism, typically including surveys or chat discussions 1015, 1016, user profile logged events 1017 and user profile logged events, as well as exploration of a heat map and depth and diversity missions 1018.
  • Input data are fed into a number of base theoretical models 1021, 1022, 1023, which convert the input data into one or more metrics.
  • the metrics are then applied to a model module 1030, including a computational model 1031.
  • the model 1031 generates outputs, which are supplied to an interface module 1040 of the client device 230.
  • the outputs can include an optimal next best action 1041, such as a recommendation for further research, direction exploration, targeted actions, such as seeking qualifications, or the like.
  • Recommendations can also include content recommendations 1042, such as search results or search terms or filters, which can be used in the above described process to generate a graph visualisation that is likely to be of relevance to a user. This can also include the possibility of retrieval of content from external sources, or the like.
  • the client device 230 is used to collect user inputs defining user engagement, such as user ratings, or other behaviours or responses, which can be used to assess how useful the recommendations were, with this being fed back into the model module 1030, at 1032, allowing the model to be refined.
  • user engagement such as user ratings, or other behaviours or responses
  • Figure 11 A shows a model that can be used to guide the user in understanding the impact of different influences.
  • Ongoing influences and experiences 1103 have an impact on the users dynamic self, whilst ongoing external change 1105, alters the dynamic world 1106, representing the environment that the user experiences.
  • the dynamic world and dynamic self interact via agency and aspiration. It will be appreciated that populating this model can assist in guiding the user as to occupations that might be worth exploring and can act to provide inputs for the recommendation process.
  • Figure 11B shows a graph illustrating the interaction between a user’s curiosity and certainty, represented on the axes by a degree of exploration and a decidedness. An iterative process is performed moving from an exploratory curiosity stage, through inspiration and planning to an experimental phase in which plans are tested. This corresponds to the user using the above tools to identify occupations that might be of interest, and then explore these further. Ratings can be generated regarding the level of interest, with this providing learning, which can then feedback into the curiosity stage to enable further improved exploration.
  • Figure 11C shows a heat map, which can be used to provide feedback regarding potential occupations of interest.
  • a user ranks different occupations, this can then be displayed by showing a graph representation including coloured nodes, highlighting regions of interest or disinterest, which can in turn further direct the user to perform additional exploration of the occupations taxonomy, whilst also acting as input for the recommendations process.
  • FIG. 11D a dashboard is shown, which can be used by overseers, such as career counsellors, to easily understand the status of one or more individuals using the system.
  • This includes a status summary window 1131, an interests cluster 1132 and a recommendations window 1133.
  • the summary window includes a graphical representation of the model of Figure 11B, showing a node associated with each of a number of individuals, outlining where the individual is in the curiosity / experimentation cycle.
  • the interests cluster provides an overview of the degree of interest each user has in different fields, whilst the recommendations window 1133 shows current recommendations and associated actions for the users. The facilitates the overseer in understanding the current situation for each user, and how the user can be best assisted through the use of the above described tools.
  • the above described processes are implemented using three layers of data to triangulate best next action for each user, training the user in healthy adaptive skills as per latest research and best practice rather than always funnelling towards‘an answer’ .
  • this takes into account a current mindset and beliefs, a current status and behaviour patterns, as well as interest patterns.

Abstract

A method for presenting a data visualisation relating to a taxonomy, the method including generating a search query in accordance with user input commands provided via a client device and performing a search of a taxonomy database in accordance with the search query to determine search results including a plurality of taxonomy terms and relationships between the plurality of taxonomy terms. Graph data denoting relationships between the plurality of taxonomy terms is then generated using the search results. The client device then renders a graph visualisation using the graph data, wherein the visualisation includes number of nodes each node being indicative of one of a plurality of taxonomy terms. The graph also includes a number of connections between nodes the connections being indicative of relationships between the taxonomy terms. The invention also provides a career planning tool which provides recommendations based on the user's interaction with the graph visualisation.

Description

DATA VISUALISATION METHOD AND APPARATUS
Background of the Invention
[0001] The present invention relates to a method and apparatus for presenting a data visualisation relating to a taxonomy, and in one particular example to a method and apparatus for presenting a data visualisation relating to an occupational taxonomy for use as part of a career planning tool.
Description of the Prior Art
[0002] The reference in this specification to any prior publication (or information derived from it), or to any matter which is known, is not, and should not be taken as an acknowledgment or admission or any form of suggestion that the prior publication (or information derived from it) or known matter forms part of the common general knowledge in the field of endeavour to which this specification relates.
[0003] Seeking advice regarding career opportunities and career progression is notoriously difficult. There are a wide range of different career opportunities that could be available for individuals with similar qualifications or expertise and it is often difficult for individuals to choose between different possible opportunities and decide which of those would be most suitable for them. This problem is compounded by the lack of readily usable tools to assist with this process. For example, most tools to assist with career guidance involve human interaction, for example, through a face-to-face interview or similar. Whilst this is generally beneficial, there is often only limited access provided to such services, meaning many people miss out, or only have opportunity for limited engagement, meaning successful outcomes are limited. Whilst a number of computer based tools have been developed, these are typically reductive and simplistic presenting a shortlist of careers based on input data such as an individual’s qualifications or interests as the full range of possibilities and evaluation parameters are too hard to review and explore.
[0004] In terms of providing graphical visualisations of data to a user, there are a number of challenges in achieving this in an effective manner. For example, whilst a computing device having sufficient power can easily display and manipulate complex graphical representations, this typically needs access to all the relevant data in order to be able to do this. Particularly in the case of careers advice, but also in other scenarios, there is often significant benefit in maintaining a centralised repository of information, for example to ensure this is up to date, and hence accurate. However, with data stored centrally, this needs to be provided to users via a communications network, which would be prohibitive in the case of serving large datasets, such as an entire occupation taxonomy. Furthermore, if the information is accessed online, this is typically achieved using a browser application or other similar arrangement, in which case to make this convenient and easy for a user, it is preferable that the browser application itself is able to display the representation. However, browser applications are often limited in memory and processing capabilities, meaning it is necessary to provide access to the data in a manner which allows this to be displayed in a convenient way.
[0005] Additionally, even use of a visualisation alone might not be sufficient to provide guidance to an individual in an area such as career planning, simply due to the wide range of different occupations, meaning it is difficult for an individual to understand the range of options that might be available to them.
Summary of the Present Invention
[0006] In one broad form, an aspect of the present invention seeks to provide a method for presenting a data visualisation relating to a taxonomy, the method being performed using a processing system and client device in communication via a communications network, the method including: in the processing system: generating a search query at least partially in accordance with user input commands provided via the client device; performing a search of a taxonomy database in accordance with the search query to determine search results including: a plurality of taxonomy terms; and, relationships between the plurality of taxonomy terms; generating graph data using the search results, the graph data being indicative of a graph structure generated using the plurality of taxonomy terms and the relationships; transferring the graph data to a client device via the communication network; in an application executed by the client device: rendering a graph visualisation using the graph data, the graph visualisation including a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms, and the number of nodes including a root node indicative of at least one of: a search term used in the search query; and, a closest match taxonomy term; and, a number of connections between nodes, the connections being indicative of relationships between the taxonomy terms; and, displaying the graph visualisation to a user.
[0007] In one embodiment the method includes: in the processing system: determining a search results ranking; and, generating the graph data in accordance with the search results ranking; and, in the application executed by the client device, displaying the graph visualisation in accordance with the search results ranking.
[0008] In one embodiment the method includes rendering the graph visualisation in accordance with a defined number of taxonomy terms.
[0009] In one embodiment the method includes at least one of: in the processing device, at least one of: performing the search to determine search results in accordance with the defined number of taxonomy terms; filtering search results in accordance with the defined number of taxonomy terms; and, generating graph data including the defined number of taxonomy terms; and, in the application executed by the client device, filtering the graph data to in accordance with the defined number of taxonomy terms.
[0010] In one embodiment the defined number of taxonomy terms are based on at least one of: user preferences; communications parameters; and, application parameters.
[0011] In one embodiment the method includes, in the application executed by the client device: determining user input commands indicative of user interaction with the graph visualisation; and, displaying an updated graph visualisation in accordance with the user input commands.
[0012] In one embodiment the method includes, in the application executed by the client device: updating graph data in accordance with user input commands; and, rendering an updated graph visualisation in accordance using the updated graph data.
[0013] In one embodiment the method includes: in the processing system: generating an updated search query at least partially in accordance with user input commands provided via the client device; performing a further search of the taxonomy database in accordance with the updated search query to determine updated search results; generating updated graph data using the updated search results; and, transferring the updated graph data to the client device via the communication network; and, in the application executed by the client device, rendering an updated graph visualisation using the updated graph data.
[0014] In one embodiment the method includes: in the application executed by the client device: determining input data indicative of user input commands; and, transferring the input data to the processing system via the communications network; and, in the processing device, generating the search query using the input data.
[0015] In one embodiment the method includes, in the application executed by the client device: displaying a first user interface including the graph representation; and, displaying a second user interface that presents content to the user.
[0016] In one embodiment the method includes in the application executed by the client device, determining the user input commands as inputs provided via the first or second user interface.
[0017] In one embodiment the second user interface includes a chat window, and wherein the method includes: generating chat dialogue; and, in the application executed by the client device: displaying the chat dialogue in the chat window; determining user input commands in response to display of the chat dialogue.
[0018] In one embodiment the method includes interpreting user input commands via second user interface using natural language processing.
[0019] In one embodiment the method includes generating the chat dialogue using at least one of: user input commands; search results; and, a script.
[0020] In one embodiment the method includes: using user input commands provided via the second user interface to update the graph representation; and, using user input commands provided via the first user interface to generate chat dialogue.
[0021] In one embodiment the method includes: using a first module to generate the first user interface; using a second module to generate the second user interface; and, exchanging user input commands between the first and second modules. [0022] In one embodiment the graph data are transferred between the processing system and client device as Javascript Object Notation files.
[0023] In one embodiment the application is a browser application executed by the client device.
[0024] In one embodiment the browser application generates the representation using Javascript.
[0025] In one embodiment the method includes determining a user rating associated with at least one taxonomy term in accordance with user input commands.
[0026] In one embodiment the method includes performing the search using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; a history of previous search queries; a history of previous search results; machine learning techniques.
[0027] In one embodiment the method includes: generating recommendations at least in part relating to the taxonomy; and, in the application executed by the client device, displaying an indication of the recommendations.
[0028] In one embodiment the recommendations include at least one of: an indication of one or more taxonomy terms; one or more requirements associated with the taxonomy terms; and, one or more actions.
[0029] In one embodiment the method includes, in the processing system: generating metrics using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; search queries; search results; and, a behavioural framework; applying the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement by users in response to recommendations.
[0030] In one embodiment the behavioural parameters relate to factors of at least one of: awareness, aspiration; and, agency. [0031] In one embodiment the method is used to provide career guidance and wherein: the taxonomy terms relate to different occupations; and, career planning recommendations are provided relating to at least one of: career planning actions; career planning options; occupations; actions needed to identify different occupations; and, mechanisms for identifying occupations of interest.
[0032] In one broad form, an aspect of the present invention seeks to provide a system for presenting a data visualisation relating to a taxonomy, the system including a processing system and client device in communication via a communications network, and wherein: the processing system is configured to: generate a search query at least partially in accordance with user input commands provided via the client device; perform a search of a taxonomy database in accordance with the search query to determine search results including: a plurality of taxonomy terms; and, relationships between the plurality of taxonomy terms; generate graph data using the search results, the graph data being indicative of a graph structure generated using the plurality of taxonomy terms and the relationships; transfer the graph data to the client device via the communication network; an application executed by the client device is configured to: render a graph visualisation using the graph data, the graph visualisation including a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms, and the number of nodes including a root node indicative of at least one of: a search term used in the search query; and, a closest match taxonomy term; and, a number of connections between nodes, the connections being indicative of relationships between the taxonomy terms; and, display the graph visualisation to a user.
[0033] In one broad form, an aspect of the present invention seeks to provide a method for providing information to assist interaction via a user interface, the method being performed using a processing system and client device in communication via a communications network, the method including: in the processing system: determining information at least partially in accordance with user input commands provided via the client device; and, retrieving a script related to the information; in an application executed by the client device: displaying a first user interface including the information received from the processing system; and, displaying a second user interface including a chat window, the chat window including chat dialogue determined at least in part using the script; and, determining user input commands in response to display of the chat dialogue, wherein the user input commands are provided as inputs provided via the first or second user interface, and wherein the user input commands are used to at least one of: update information displayed via the first user interface; and, generate chat dialogue to be displayed via the second user interface.
[0034] In one embodiment the method includes interpreting user input commands via the second user interface using natural language processing.
[0035] In one embodiment the method includes generating the chat dialogue using at least one of: user input commands; search results; and, the script.
[0036] In one embodiment the method includes: using user input commands provided via the second user interface to update the information; and, using user input commands provided via the first user interface to generate chat dialogue.
[0037] In one embodiment the method includes: using a first module to generate the first user interface; using a second module to generate the second user interface; and, exchanging user input commands between the first and second modules.
[0038] In one embodiment the method includes, in the second module: forwarding events indicative of input commands to the first module to cause the first module to update the information; receiving events indicative of user interaction with the information from the first module; and, using events to select chat dialogue for display.
[0039] In one embodiment the method includes: generating a search query at least partially in accordance with user input commands provided via the client device; and, performing a search in accordance with the search query to retrieve at least one of: the information; and the script.
[0040] In one broad form, an aspect of the present invention seeks to provide a system for providing information to assist interaction via a user interface, the system including a processing system and client device in communication via a communications network, and wherein: the processing system is configured to: determine information at least partially in accordance with user input commands provided via the client device; and, retrieve a script related to the information; an application executed by the client device is configured to: display a first user interface including the information received from the processing system; and, display a second user interface including a chat window, the chat window including chat dialogue determined at least in part using the script; and, determine user input commands in response to display of the chat dialogue, wherein the user input commands are provided as inputs provided via the first or second user interface, and wherein the user input commands are used to at least one of: update information displayed via the first user interface; and, generate chat dialogue to be displayed via the second user interface.
[0041] In one broad form, an aspect of the present invention seeks to provide a method for providing career planning recommendations, wherein the method includes, in a processing system: generating metrics using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; search queries; search results; and, a behavioural framework; applying the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement by users in response to recommendations .
[0042] In one broad form, an aspect of the present invention seeks to provide a system for providing career planning recommendations, wherein the system includes a processing system configured to: generate metrics using at least one of: user preferences; user interests; user qualifications; user engagement; user behavioural parameters; user ratings; input data obtained from a plurality of user input commands; search queries; search results; and, a behavioural framework; apply the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement previously provided by users in response to recommendations. [0043] It will be appreciated that the broad forms of the invention and their respective features can be used in conjunction and/or independently, and reference to separate broad forms in not intended to be limiting.
Brief Description of the Drawings
[0044] Various examples and embodiments of the present invention will now be described with reference to the accompanying drawings, in which: -
[0045] Figure 1 is a flow chart of an example of a method for presenting a data visualisation;
[0046] Figure 2 is a schematic diagram of an example of a distributed computer architecture;
[0047] Figure 3 is a schematic diagram of an example of a processing system of the architecture of Figure 2;
[0048] Figure 4 is a schematic diagram of an example of a client device of the architecture of Figure 2;
[0049] Figures 5A and 5B are a flow chart of a specific example of a method of presenting a data visualisation;
[0050] Figure 6A is a schematic diagram of an example of a search of a taxonomy graph;
[0051] Figure 6B is a schematic diagram of an example of a graph visualisation;
[0052] Figure 6C is a schematic diagram of an example of an updated version of the graph visualisation of Figure 6B;
[0053] Figure 7 is a flow chart of an example of a method for presenting a dual interface configuration;
[0054] Figure 8A is a schematic diagram illustrating a first example of interaction between two interface modules;
[0055] Figure 8B is a schematic diagram illustrating a second example of interaction between two interface modules; [0056] Figure 9 is a flow chart of an example of a method for providing recommendations;
[0057] Figure 10 is a schematic diagram of an example of recommendation module configurations;
[0058] Figure 11A is a schematic diagram of an adaptive skills framework;
[0059] Figure 11B is a schematic diagram of an example of a behavioural framework;
[0060] Figure 11C is a schematic diagram of an example of a heat map; and,
[0061] Figure 11D is a schematic diagram of an example of a dashboard.
Detailed Description of the Preferred Embodiments
[0062] An example of a method of presenting a data visualisation will now be described with reference to Figure 1.
[0063] For the purpose of the remaining example, broad reference will be made to a data visualisation relating to a taxonomy. In this context a taxonomy is taken to be a structured classification scheme, often including terms relating to respective classes, which are generally related to each other, sometimes in a hierarchical manner. Whilst the taxonomy could relate to any type of subject matter, in one preferred example the taxonomy is an occupational taxonomy including terms relating to different occupations, which is suitable for use in providing career guidance. In this example, the taxonomy terms typically define particular types of occupation, with related occupations being identified by relationships between the terms. The terms may also include one or more attributes, such as information regarding what the occupations entails, details of qualifications, or other requirements associated with the occupation, or the like.
[0064] However, it will be appreciated that the principles described herein whilst particularly relevant to occupations also have relevance to other data taxonomies and reference to occupations whilst beneficial is not intended to be limiting.
[0065] For the purpose of illustration, it is assumed that the process is performed at least in part using one or more electronic processing devices forming part of one or more processing systems, such as computer systems, servers, or the like, which are in turn connected to one or more client devices, such as mobile phones, portable computers, tablets, or the like, via a network architecture, as will be described in more detail below.
[0066] In this example, at step 100, the processing system generates a search query. The search query is typically generated at least partially in accordance with user input commands provided via the client device. This can be achieved in any one of a number of manners and could involve having a user provide a search term, such as a keyword, details of qualifications or the like, via the client device, with this information then being forwarded to the processing system, allowing the search query to be generated. Alternatively, the search query could be generated by the client device and transferred to the processing system. As will also be described in more detail below, search queries can additionally and/or alternatively be generated based on user interaction with a data visualisation, or through interaction with an alternative user interface, such as a chat window, or the like.
[0067] At step 110, a search of a taxonomy database is performed in accordance with the search query to determine search results at step 120. The search results typically include a plurality of taxonomy terms, including at least one closest match taxonomy term, which is a closest match to the search term, and a number of related taxonomy terms. The search results are also typically indicative of relationships between the plurality of taxonomy terms, for example identifying if an occupation is related to another occupation, is a subset or specialisation of another occupation, or the like. The manner in which the search is performed will vary depending on the preferred implementation and the manner in which the taxonomy database is configured. For example, this may include applying queries to the taxonomy database, such as SQL (Structured Query Language) queries, or the like.
[0068] At step 130, the processing system generates graph data using the search results. The graph data are indicative of a graph structure generated using the plurality of taxonomy terms and the relationships. The particular form of the graph data and the manner in which this is generated will vary depending upon the preferred implementation. In particular, a number of algorithms are known which can take structured data and transform this into a network graph, which is then encoded to create the graph data. The graph data represents the taxonomy terms and the relationships between the different taxonomy terms and is typically encoded in a format that utilises a low volume of data to facilitate transfer over a communications network. In one example, this is performed using JavaScript Object Notation (JSON) files which are particularly useful in transferring details of hierarchical relationships utilising a low volume of data. However, this is not essential and alternative forms of graph data could be used.
[0069] At step 140, the graph data are transferred to the client device via the communications network, allowing an application executed by the client device to render a graph visualisation at step 150. The graph visualisation includes a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms and a number of connections between the nodes, with the connections being indicative of relationships between the taxonomy terms. Additionally, a root node is typically identified, which is indicative of the search term and/or the closest match taxonomy term. The particular manner in which the visualisation is generated and rendered will vary depending upon the preferred implementation. In one example, a known visualisation algorithm is used to generate a network visualisation, with this being used in conjunction with a JavaScript module in order to display the representation at step 160, although it will be appreciated that other interpreted script languages or compiled executable languages could be used.
[0070] Following this, the user can interact with the displayed graph visualisation, to thereby manipulate, and hence update, the visualisation. Updating the visualisation can either be performed locally, by returning to step 150 to update the received graph data, or update the representation based on the graph data, or could be achieved remotely by generating a new search query based on an outcome of interaction with the visualisation by returning to step 100.
[0071] In any event, it will be appreciated that the above-described configuration enables a data visualisation to be displayed by having a processing system perform a search of a taxonomy database and generate graph data. The graph data are then transferred to a client device allowing a graphical representation to be rendered locally on the client device and displayed to the user. This arrangement can provide a number of benefits.
[0072] For example, this arrangement minimises the requirement to transfer data between the processing system and the client device, thereby allowing this to be used in scenarios where limited communications might be available, such as when using mobile phones or other portable devices. In particular this can be used to only transfer data relating to the particular search results, so only a subset of the taxonomy database needs to be provided. Furthermore, providing this in a structured format, such as using a JSON file, can be used to enable relationships between the terms to be used to reduce the amount of data being transferred. For example, in the case of related terms, a child term can inherit requirements or attributes from a parent term, meaning this information does not need to be duplicated in the information being transferred.
[0073] Additionally, rendering the visualisation locally on the client device allows this to be more easily updated, for example, based on changes to graph data. This allows localised manipulations to be performed without requiring additional interaction with the processing system, thereby again reducing data download requirements.
[0074] Furthermore, by limiting the data provided to the client device, this minimises the requirements needed to generate the visual representation, allowing this to be easily rendered using only minimal processing and memory resources, which might be available using the application on the client device. Nevertheless, this still allows complex searches to be performed of extensive data sets by the processing system, which would not necessarily be achievable in a reasonable timeframe using the client device, whilst allowing the user to be presented with a graph visualisation they can easily explore.
[0075] Accordingly, the above-described arrangement provides a mechanism for enabling a taxonomy search to be performed with results of this being provided to a user via a communications network and presented in a visual manner, without encountering restrictions that might result from a client device application having limited memory and processing capabilities and whilst minimising the transfer of data between the processing system and client device.
[0076] This allows large datasets such as occupation taxonomies to be searched, with results being presented in a visual manner, which in turn allows users to interact with the results and further explore the results, helping users to understand how terms, such as different occupations are related, and how these might be relevant to a user.
[0077] A number of further features will now be described. [0078] In one example, the method includes determining a search result ranking and generating the graph data in accordance with the search results ranking. In this regard, a ranking can be used to indicate a strength of a relationship between two taxonomy terms, for example to define how similar the occupations are, with the graph data being generated in accordance with the ranking, either to reflect the strength of the relationship, and/or to limit a number of taxonomy terms included. For example, taxonomy terms whose ranking falls below a threshold can be excluded thereby reducing the number of terms that need to be displayed. This allows the data visualisation to be generated to reflect the ranking, either showing the strength of the ranking, or by excluding nodes where relationships fall below a predetermined ranking strength.
[0079] In one example, the method includes rendering the graph visualisation in accordance with a defined number of taxonomy terms. In particular, limiting to a defined number of taxonomy terms, either by displaying less than a maximum number or more than a minimum number, can be used to ensure that the graph visualisation presents meaningful information, whilst also working within the confines of limited processing capabilities available to the application executed by the client device. For example, the application executed by the client device may include a browser application which can have limited memory. As graph visualisations typically include a large number of nodes and connections, these can be computationally expensive to render and manipulate. Accordingly, limiting the number of nodes displayed can ensure that this allows the graph visualisation to be easily manipulated despite the fact that this is presented in a browser or other similar application.
[0080] The manner in which this is achieved will vary depending upon the preferred implementation. In one example, the requirement to meet the defined number of taxonomy terms can be met remotely, for example, by having the processing device determine a limited number of search results in accordance with the defined number of taxonomy terms, filter search results in accordance with the defined number of taxonomy terms, or generate graph data including the defined number of taxonomy terms. Thus, this could include filtering search results to limit a number of taxonomy terms, or progressively generating graph data based on search results until a defined number of taxonomy terms is reached. In another example, this can be performed locally by filtering graph data in the application executed by the client device. For example, the graph data may rank the most important taxonomy terms, with the application operating to generate the visualisation progressively adding nodes until a required number is reached.
[0081] The defined number of taxonomy terms can be determined in any one of a number of appropriate manners. For example, this could be based on user preferences so that the user could define a default number of nodes to be included in any visualisation, thereby making the visualisation something they are comfortable to view. Additionally and/or alternatively, this could be based on communications or application parameters. For example, if only a low bandwidth connection is available, or if the user only has limited data download available, then the number of taxonomy terms included in the graph data can be minimised to limit the amount of data being transferred. Similarly, the browser application may include only limited memory or processing capabilities in which case the number of taxonomy terms could be smaller than if larger capabilities are provided. It will be appreciated that this could be defined automatically, for example by analysing processing, memory or communications capabilities, or could be defined manually based on user inputs, for example in response to viewing of an initial representation, or known capabilities of the client device.
[0082] In one example, once the visualisation is displayed, the visualisation can be manipulated and updated in accordance with user input commands. For example, the user can select one or more nodes and operate to remove these, or expand these to show additional related nodes, view further details regarding the taxonomy terms associated with the nodes, or the like . The manner in which the manipulations are performed will vary depending upon the preferred implementation but typically this involves determining user input commands indicative of user interaction with the graph visualisation and then displaying an updated graph visualisation in accordance with the user input commands, for example, to show additional nodes, remove nodes view attributes associated with nodes, or the like.
[0083] In one example, this process is performed locally by having the application executed by the client device update graph data in accordance with the user input commands and then render an updated graph visualisation in accordance with the updated graph data. For example, the graph data initially received from the processing system may include additional graph data that is not displayed in the initial graph visualisation, in which case the client device can simply retrieve additional graph data from the initially received graph data and use the additional graph data when generating an updated graph visualisation. Alternatively, this may include updating the graph data, for example by deleting taxonomy terms, or the like, and then generating an updated graph visualisation on that basis.
[0084] Additionally and/or alternatively, updating of the visualisation can include remote processes. For example, the processing system could generate an updated search query based on user input commands provided by the client device, perform a further search of the taxonomy database in accordance with the updated search query to determine updated search results, generate updated graph data using the updated search results and transfer the updated graph data to the client device via the communications network, allowing the client device to render an updated graph visualisation. Thus, in this instance, the user could select a node of interest within the original graph representation with the taxonomy term associated with the respective node being used to perform additional searching to thereby retrieve further related taxonomy terms, which can then be added to the visualisation.
[0085] In one example, search queries are generated by the processing system by having the client device determine input data indicative of user input commands and then transfer an indication of the input data to the processing system, via the communications network. This allows the processing device to generate the search query using the input data. For example, the user may input a search query term such as an indication of an area or field of interest, or existing qualifications, with this being used to generate the search query to identify occupations relevant to the area of interest or qualifications. It will be appreciated, however, that as an alternative the search query could be generated by the client device and transferred to the processing system to allow the search to be performed.
[0086] In addition to performing searches, the system can also be adapted to determine a user engagement associated with at least one taxonomy term, in accordance with user input commands, to assess the value or relevance of the identified term. For example, if the user reviews additional information relating to a taxonomy term, or uses this as a basis for further searching, this indicates that the term was of relevance to the user. In one particular example, the user engagement could include having the user provide a user rating. The user rating could be of any appropriate form and may include a“like” or“dislike” or could include a numerical rating, such as a rating from“1” to“10”. The rating can be used to provide feedback, which can in turn be used to improve search results. In particular, the user rating can be taken into account when performing further search results, for example, to discount taxonomy terms similar to those previously associated with a low rating. Additionally, and/or alternatively, the rating can be used as part of a machine learning technique, to thereby assist in identifying relevant occupations or other taxonomy terms.
[0087] Additionally, and/or alternatively, the search can be based on one or more other criteria, including but not limited to user preferences, user interests, user qualifications, user engagement, user behavioural parameters, input data obtained from a plurality of user input commands, a history of previous search queries, a history of previous search results, or the like. It will be appreciated that these can be used to define search terms and/or filter search results, thereby helping to refine the search process, and thereby improve the relevant of search results.
[0088] In addition to displaying the graph visualisation, as already described, additional input or display mechanisms could be used to enhance the usability of the system. In one particular example, a first user interface is displayed including the graph representation, whilst a second user interface is displayed that presents alternative content to the user. User input commands can then be provided as inputs via either the first or second user interface, with this being used to control information displayed to the user again via either the first or second interface.
[0089] Thus, for example, manipulations or other inputs provided via the graph representation could be used to alter the content that is displayed to the user via the second user interface. Similarly, inputs provided via the second user interface could be used in order to manipulate the graph representation.
[0090] The nature of the second user interface, and the particular content presented therein, will vary depending on the preferred implementation. In one example, the information could be passive, and might include, for example, information regarding a taxonomy term selected via the graph representation. Thus, if the user selects a node corresponding to a particular occupation, information such as requirements of the occupation, or additional information regarding the nature of the occupation could be displayed. However, in a preferred example, the second interface is used to display interactive content, and specifically, content which can be used to guide the user in how they interact with the graph visualisation, thereby helping the user obtain the most benefit possible from interacting with the graph visualisation.
[0091] In one particular example, this is achieved by having the second user interface include a chat window. In this example, the method includes generating chat dialogue, such as phrases, statements, questions, instructions, or the like, displaying the chat dialogue in the chat window and then determining user input commands provided in response to display of the chat dialogue. These user input commands can then be used to trigger presentation of further chat dialogue, and/or to update the appearance of the graph visualisation, for example, by altering a root node, altering nodes that are displayed, performing further search queries in order to update the graph visualisation, or the like.
[0092] In one particular example, inputs provided by the second user interface are provided in the form of natural language phrases, with these being interpreted using natural language processing, so that the user effectively perceives that they are interacting with a person, in the form of a chat based discussion, with this leading the user in interacting with the graph visualisation. Thus, the second user interface can be used to simulate a chat environment with the user being asked questions relating to the graph visualisation, prompting them either to alter the visualisation or provide written responses, which can then be used to further update the graph visualisation. This provides a particularly useful mechanism for refining what is displayed on the graph visualisation and can assist leading users to identify relevant taxonomy terms, and in one example, occupations of potential interest.
[0093] In order for this to be achieved, the chat dialogue is typically generated using a script and optionally further taking into account user input commands and/or search results. Thus, it will be appreciated that one or more scripts can be generated setting out different chat scenarios. Each scenario will typically include a branching tree structure defining a number of different conversation paths, each including one or more dialogue sections, and with the particular branch of the tree being selected based on user input commands or search results, thereby refining the conversation to make it relevant to the particular searching being performed by the user. [0094] As previously mentioned, inputs provided via one interface can be used to control information presented via the other user interface, so that user commands provided via the second user interface can be used to update the graph representation, whilst user input commands provided via the graph representation can be used to generate the chat dialogue, and specifically to choose the next dialogue section presented. In one preferred example, this is achieved by utilising a first module to generate the first user interface and a second module to generate the second user interface, with user input commands being exchanged between the first and second modules, for example using a handshake or other suitable protocol, allowing the interfaces to be updated as required.
[0095] As previously mentioned, in one example, the graph data are transferred between the processing system and client device as JavaScript Object Notation files. These are particularly beneficial as they have a low data volume and are easy to manipulate at the client device side, allowing these to be used as the basis for generating updated graph visualisations. Additionally, these can easily represent the hierarchical nature of the taxonomy, enabling the volume of data being transferred to be reduced. The application is typically a browser application, or general app executed by the client device, although any appropriate arrangement could be used. In this arrangement however, the browser application typically generates the representation at least in part using JavaScript.
[0096] In one example, in addition to simply displaying information regarding taxonomy terms, the system can also be adapted to generate recommendations, which may at least in part relating to the taxonomy, although this is not necessarily essential. In this example, the method typically includes generating recommendations and then having the client device display an indication of the recommendations. The recommendations could be of any appropriate form and may include an indication of one or more taxonomy terms, such as taxonomy terms that might be of interest to the user, requirements associated with taxonomy terms, one or more actions, such as actions that would need to be performed by the user in order to meet requirements associated with the taxonomy terms, or the like. The recommendations could also be unrelated to the taxonomy, so in the case of career planning, might relate to career planning more broadly and not necessarily specific occupations detailed in an occupations taxonomy. [0097] The manner in which recommendations are made will vary depending upon the preferred implementation. In one example, this is performed at least in part using machine learning techniques. In this regard, one or more metrics can be generated based on input data, which can include user preferences, user interests, such as areas of interest to user, user qualifications, such as details of education or other training, user behavioural patterns, user engagement, user ratings, input data obtained from a plurality of user input commands, such as interactions with the graph visualisation, a history of previous search queries and/or search results, a behavioural framework, or the like. Thus, this process can take into account a wide range of data, including data regarding the user, such as abilities or interests of the user, and as well as details of previous interactions with the previously described visual representation system, allowing this to provide recommendations of occupations, or actions needed to meet the requirements associated with particular occupations, or the like.
[0098] Having derived metrics, these can be applied to at least one computational model to determine a recommendation. The computational model is typically indicative of a relationship between different metrics and recommendations, and can be obtained by applying machine learning to user engagement associated with recommendations previously provided to users, based on their metrics. Thus, user engagement can be used to assess the value of recommendations provided to the user, as well as taxonomy terms which users deem to be relevant or not relevant. Machine learning can then be used together with this information in order to ascertain the likely recommendations that would suit a different combination of metrics associated with a user. Thus, different recommendations may apply depending upon user preferences, interests, qualifications, or the like, as well as the outcomes of previous searches. Accordingly, by performing machine learning techniques, this allows appropriate recommendations to be more easily identified, thereby improving the relevance of recommendations provided to users.
[0099] As previously mentioned, whilst the above-described techniques are applicable to a wide range of different scenarios, in one preferred example, the above-described processes are used for providing career guidance, with the taxonomy terms relating to different occupations and recommendations relating to career planning, such as researching occupations and their requirements, broadening options, identifying strengths, expanding skillset, iterating on ideas, portfolio building, testing ideas, practical job hunting skills, or the like, as well as such as career planning options or actions, occupations, actions needed to identify different occupations, mechanisms for identifying occupations of interest, or the like.
[0100] As mentioned above, in one example, the process is performed by one or more processing systems and client devices operating as part of a distributed architecture, an example of which will now be described with reference to Figure 2.
[0101] In this example, a number of base stations 210 are coupled via communications networks, such as the Internet 240, and/or one or more local area networks (LANs), to a number of client devices 230. It will be appreciated that the configuration of the networks 240 are for the purpose of example only, and in practice the processing systems 210 and client devices 230 can communicate via any appropriate mechanism, such as via wired or wireless connections, including, but not limited to mobile networks, private networks, such as an 802.11 networks, the Internet, LANs, WANs, or the like, as well as via direct or point-to-point connections, such as Bluetooth, or the like.
[0102] In one example, each processing system 210 is able to perform a search of a taxonomy database and generate graph data, providing this to a client device 230, allowing the client device 230 to display a visual representation, and/or generating recommendations that can then be displayed by the client device 230. Whilst the processing system 210 is a shown as a single entity, it will be appreciated that the processing system 210 can be distributed over a number of geographically separate locations, for example by using processing systems 210 and/or databases that are provided as part of a cloud based environment. However, the above described arrangement is not essential and other suitable configurations could be used.
[0103] An example of a suitable processing system 210 is shown in Figure 3.
[0104] In this example, the processing system 210 includes at least one microprocessor 300, a memory 301, an optional input/output device 302, such as a keyboard and/or display, and an external interface 303, interconnected via a bus 304 as shown. In this example the external interface 303 can be utilised for connecting the processing system 210 to peripheral devices, such as the communications network 240, databases, other storage devices, or the like. Although a single external interface 303 is shown, this is for the purpose of example only, and in practice multiple interfaces using various methods (eg. Ethernet, serial, USB, wireless or the like) may be provided.
[0105] In use, the microprocessor 300 executes instructions in the form of applications software stored in the memory 301 to allow the required processes to be performed. The applications software may include one or more software modules, and may be executed in a suitable execution environment, such as an operating system environment, or the like.
[0106] Accordingly, it will be appreciated that the processing system 210 may be formed from any suitable processing system, such as a suitably programmed client device, PC, web server, network server, or the like. In one particular example, the processing system 210 is a standard processing system such as an Intel Architecture based processing system, which executes software applications stored on non-volatile (e.g., hard disk) storage, although this is not essential. However, it will also be understood that the processing system could be any electronic processing device such as a microprocessor, microchip processor, logic gate configuration, firmware optionally associated with implementing logic such as an FPGA (Field Programmable Gate Array), or any other electronic device, system or arrangement.
[0107] An example of a suitable client device 230 is shown in Figure 4.
[0108] In one example, the client device 230 includes at least one microprocessor 400, a memory 401, an input/output device 402, such as a keyboard and/or display, and an external interface 403, interconnected via a bus 404 as shown. In this example the external interface 403 can be utilised for connecting the client device 230 to peripheral devices, such as the communications networks 240, databases, other storage devices, or the like. Although a single external interface 403 is shown, this is for the purpose of example only, and in practice multiple interfaces using various methods (eg. Ethernet, serial, USB, wireless or the like) may be provided.
[0109] In use, the microprocessor 400 executes instructions in the form of applications software stored in the memory 401 to allow communication with the processing system 210, for example to allow graph data to be received. [0110] Accordingly, it will be appreciated that the client devices 230 may be formed from any suitable processing system, such as a suitably programmed PC, Internet terminal, lap-top, or hand-held PC, and in one preferred example is either a tablet, or smart phone, or the like. Thus, in one example, the client device 230 is a standard processing system such as an Intel Architecture based processing system, which executes software applications stored on non volatile (e.g., hard disk) storage, although this is not essential. However, it will also be understood that the client devices 230 can be any electronic processing device such as a microprocessor, microchip processor, logic gate configuration, firmware optionally associated with implementing logic such as an FPGA (Field Programmable Gate Array), or any other electronic device, system or arrangement.
[0111] Examples of the processes for displaying visualisations and/or recommendations will now be described in further detail. For the purpose of these examples it is assumed that one or more processing systems 210 acts to perform searches or generate recommendations based on user inputs provided via the client devices 230, with resulting graph visualisations or recommendation indications being displayed by the client devices 230. In one example, to provide this in a platform agnostic manner, allowing this to be easily accessed using client devices 230 using different operating systems, and having different processing capabilities, input data and commands are received from the client devices 230 using via a webpage, with resulting visualisations being rendered locally by a browser application, or other similar application executed by the client device 230. The processing system 210 is therefore typically a server (and will hereinafter be referred to as a server) which communicates with the client device 230 via a communications network 240, or the like, depending on the particular network infrastructure available.
[0112] To achieve this the server 210 typically executes applications software for hosting webpages, as well as performing other required tasks including storing, searching and processing of data, with actions performed by the processing system 210 being performed by the processor 300 in accordance with instructions stored as applications software in the memory 301 and/or input commands received from a user via the I/O device 302, or commands received from the client device 230. It will also be assumed that the user interacts with the server 210 via a GUI (Graphical User Interface), or the like presented on the client device 230, and in one particular example via a browser application that displays webpages hosted by the server 210, or an App that displays data supplied by the server 210. Actions performed by the client device 230 are performed by the processor 400 in accordance with instructions stored as applications software in the memory 401 and/or input commands received from a user via the I/O device 402.
[0113] However, it will be appreciated that the above described configuration assumed for the purpose of the following examples is not essential, and numerous other configurations may be used. It will also be appreciated that the partitioning of functionality between the client devices 230, and the server 210 may vary, depending on the particular implementation.
[0114] A specific example process for generating a graph visualisation will now be described with reference to Figures 5 A and 5B.
[0115] In this example, at step 500 the user selects to view a graph visualisation, typically by selecting an appropriate option on a webpage hosted by the server 210, and displayed using the browser application executed by the client device 230. The user is then presented with an initial input field allowing the user to enter a search term at step 505. The search term typically includes one or more keywords, and could broadly relate to a subject matter area of interest to the user, or the like. The search term is transferred to the server 210 at step 510, allowing the server 210 to perform a search of an occupations taxonomy database at step 515.
[0116] Additionally and/or alternatively, the search query can be generated using other criteria. For example, the user may establish a user profile, which can be stored at the server end, and includes information, such as user interests, user expertise, user qualifications, details of previous searches, ratings, or the like. These can be used to form the search query, and/or could be used as a mechanism for filtering search results, for example to exclude occupations that would be unsuitable for the user, for example falling outside of their scope of interest, being excluded due to qualification requirements, or the like.
[0117] The server 210 retrieves relevant search results from the taxonomy database at step 520, which will typically include one or more closest matches, such as exact matches, and one or more near matches. Typically matching involves searching for taxonomy terms having a name or attributes including the keywords entered by the user, or synonyms thereof. However, it will be appreciated that any suitable matching process may be used, depending on the preferred implementation.
[0118] An example of this process is shown in more detail in Figure 6A, which shows a graph representation of an entire taxonomy 601, including terms 602 interconnected by relationships 603. A search term 611 is provided, with this being used to identify matching terms 622.1, corresponding to terms that a direct a match for the search term and closely related terms 622.2, which are closely related to the search term.
[0119] Having retrieved the search results, the server 210 then processes these to determine nodes that should be included in the graph representation. In order to do this, the server 210 selects a next level of taxonomy terms at step 525. In this regard, the server 210 will typically retrieve N levels of taxonomy terms related to matching or near matching terms, with A being an integer value greater than or equal to 1, and corresponding to the degree of connectedness of the terms. So for example, if N= 1, the server 210 will retrieve terms directly related to matching or near matching terms, whereas if N = 2, the server 210 will retrieve terms related by single intervening terms.
[0120] At step 530, the server 210 determines whether a suitable number of terms have been retrieved. In this regard, a suitable number of terms correspond to sufficient terms to make the graph visualisation useful to the user, but not too many terms to prevent the graph visualisation being generated and manipulated in real time. It will be appreciated from this, that the assessment at step 530 may be performed taking into account processing capabilities of the browser application executed by the client device 230, user preferences, such as any limitations defined in user settings, information regarding available data bandwidth, or the like.
[0121] If a suitable number of terms have not been determined, step 525 is repeated using a different value of N. Thus, if an insufficient number of results have been retrieved the level selection is expanded by returning to step 525 with this process being repeated until sufficient results are obtained.
[0122] Once a suitable number of terms have been retrieved, at step 535 the server 210 generates graph data. The graph data are in the form of a JSON file and includes information regarding the retrieved taxonomy terms, relationships between the taxonomy terms, and other relevant information, such as attributes associated with the terms, including details of the occupation, requirements associated the occupation, or the like.
[0123] The graph data are transferred to the client device at step 540, allowing the client device to render a graph representation at step 545. This is typically performed utilising known graphing algorithms, which define a layout of the representation, in particular by creating nodes corresponding to each of the taxonomy terms, and then laying out the nodes by spacing the nodes within a 2D space based on the relationships between the corresponding taxonomy terms. Connections between the nodes are then created representing the relationships between the different terms. The representation is then physically rendered using Javascript, to allow the representation to be displayed to the user at step 550.
[0124] An example graph visualisation is shown in Figure 6B, which includes a window 631 displaying matching nodes 632.1, closely related nodes 632.2 and any intervening nodes 632.3. In this example, the nodes are connected back to a root node 634, corresponding to the search term, and which may represent an identical match, if only a single identical match exists. Connections 633 are also displayed, with a weight of each connection representing a ranking or strength of the relationship between the corresponding terms.
[0125] Once displayed, the user is then able to interact with the representation, for example by providing input commands at step 555, such as mouse clicks, or the like. This allows the user to change the appearance of the graph visualisation and explore the representation to understand how different terms, and in particular, occupations, are related, to view additional information regarding occupations, or the like. A range of different manipulations can be performed, and the manner in which this is achieved will vary depending on the manipulation, and primarily whether the manipulation is a local or remote manipulation. In this regard, a local manipulation can be performed without requiring server input, whilst a remote manipulation might require additional graph data to be retrieved from the server 210.
[0126] If a local manipulation is detected at step 560, the process proceeds to step 565 to optionally update the graph data. For some manipulations, including moving a focus, such as setting a different node as the root node, zooming, panning, or the like, the graph data remains unchanged, in which case the process can simply return to step 545, allowing the representation to be re-rendered, based on the user input. Alternatively, some manipulations may simply require additional information is displayed, which may not require changes to the graph visualisation, for example by displaying a pop-up showing additional information regarding a selected node, such as to display requirements associated with an occupation, details of the occupation, or the like.
[0127] Alternatively, some local manipulations may update the graph data. For example, if the user selects to delete a node, this can be achieved by locally updating the graph data at step 565, to remove the node, allowing the representation to be re-rendered based on the updated graph data at step 545. It will be appreciated that in this process, the original graph data may be stored, allowing this to be re-used, for example if the user selects to re-instate a deleted node. Alternatively, the graph data may be unchanged, with the deleted node simply being ignored in the rendering process.
[0128] In the event that the manipulation requires server input, a search term is generated based on the user input commands at step 570. For example, if the user selects to view further nodes related to a selected node, a search term can be determined based on the taxonomy term associated with the selected node, with this being returned to the server at step 510 allowing a further search to be performed. An example of this is shown in Figure 6C, in which a user selects a node, causing additional related nodes to be retrieved by the server 210 and displayed.
[0129] It will be appreciated that these processes can be performed iteratively allowing the user to explore the occupation taxonomy and thereby identify occupations that are potentially of interest.
[0130] A further example process for performing interaction utilising a dual interface will now be described with reference to Figure 7.
[0131] In this example, a user selects a dual interface view, typically by selecting an appropriate option on a webpage hosted by the server 210, and displayed using the browser application executed by the client device 230. [0132] A script is retrieved from the server 210 at step 705. The script typically includes chat dialogue including a sequence of dialogue sections, such as statements, questions, or comments, which are arranged in a structured format so that when these are presented to the user in conjunction with user responses, they provide the appearance of a chat conversation. The script is typically formed using a branching tree structure, with different paths through the structure being selected based on different user inputs, so that users experience unique interactions that are specific to them and the inputs they provide.
[0133] Additionally, information for display in the first interface is also retrieved. The nature of the information will vary depending on the preferred implementation, and in one example, this could include a graph visualisation similar to that described above, although this is not essential and in practice any information could be displayed. However, where the system is particularly applicable is where assistance is required navigating and/or interacting with the information. Particular examples of the types of information, include search interfaces, shopping environments, forms, such as tax returns or similar, or the like. It will be appreciated that the information can be retrieved at the same time as the script, and in some examples as part of a single process. For example, a user may access a website, at which point website content can be retrieved together with an associated script, to assist the user in navigating the website.
[0134] First and second interfaces are then displayed to the user in the browser application at steps 710 and 715 respectively, with the information and chat dialogue typically being displayed in respective first and second interfaces, formed by respective windows. The chat dialogue commences with an initial root phrase selected from the script, whilst the information might be a default information. In one example, the information is a graph representation, optionally created using a generic or no search term, or more typically an initial user specified search term. Thus, for example, the script may prompt the user to enter a search term defining a field of interest, such as“data scientist”, with this being used to perform a search and generate graph visualisation, which is displayed in the first window using the process described above with respect to Figures 5A and 5B. As the process of generating and manipulating the graph visualisation is already described above, this will not be set out in any further detail. [0135] In this example, the user provides a response to the chat dialogue at step 720. The response can be entered via the second user interface, for example by providing a text input reply to the previous presented phrase, selecting a presented response option, or the like. Alternatively, a response can be provided via the first user interface, for example by allowing the user to selecting information of interest, such as a particular node on the graph representation. The manner in which this is performed will largely be directed by the chat dialogue, so that for example this direct the user to select a particular piece of information, or user input of interest, in which case input is via the first interface, or could ask the user to enter a search term or provide a chat response, in which case input is via the second interface.
[0136] The response is optionally used to update the information at step 725, for example by retrieving further information, altering the information or the like, with this being displayed at step 710. Thus in one example in which the information includes a graph representation, this can be performed using the techniques outlined above. Once this is performed, a subsequent chat dialogue is selected at step 730, typically depending on the previous user input, which is used to select a next chat dialogue option from the script. The chat dialogue is then displayed at step 715, allowing this process to be repeated.
[0137] Accordingly, it will be appreciated that the above described process provides a dual interface arrangement, in which information can be displayed in a first user interface, whilst chat dialogue is displayed in a second user interface. User inputs can be provided via either interface, with inputs via one interface having the ability to influence the information and/or chat dialogue displayed. In one particular example, this can be used to provide an intuitive way of guiding a user through interaction with information presented via the first user interface, facilitating the user’s understanding of the information and how best to interact with it.
[0138] A number of further features will now be described.
[0139] In one particular example, inputs provided by the second user interface are provided in the form of natural language phrases, with these being interpreted using natural language processing, so that the user effectively perceives that they are interacting with a person, in the form of a chat based discussion, with this leading the user in interacting with the graph visualisation. Thus, the second user interface can be used to simulate a chat environment with the user being asked questions relating to the information, prompting them either to interact with the information or provide written responses, which can then be used to further update the information. This provides a particularly useful mechanism for refining the information.
[0140] In one example, this is achieved as part of a searching process, with the method including generating a search query at least partially in accordance with user input commands provided via the client device and performing a search in accordance with the search query to retrieve the information and/or the script, although it will be appreciated that other mechanisms could be used.
[0141] In order for this to be achieved, the chat dialogue is typically generated using a script and optionally further taking into account user input commands and/or search results. Thus, it will be appreciated that one or more scripts can be generated setting out different chat scenarios. Each scenario will typically include a branching tree structure defining a number of different conversation paths, each including one or more dialogue sections, and with the particular branch of the tree being selected based on user input commands or search results, thereby refining the conversation to make it relevant to the particular searching being performed by the user.
[0142] Inputs provided via one interface can be used to control information presented via the other user interface, so that user commands provided via the second user interface can be used to update the information, whilst interaction with the information can be used to generate the chat dialogue, and specifically to choose the next dialogue section presented.
[0143] In one example, this is achieved by utilising a first module to generate the first user interface and a second module to generate the second user interface, with user input commands being exchanged between the first and second modules, for example using a handshake or other suitable protocol, allowing the interfaces to be updated as required.
[0144] In one particular example, this is achieved by having the second module forward events indicative of input commands to the first module to cause the first module to update the information, receive events indicative of user interaction with the information from the first module and then use events to select chat dialogue for display. [0145] An example of this process will now be described in more detail with reference to Figures 8 A and 8B, which show a functional structure implemented in order to display the dual interface arrangement. Whilst the following example will be discussed specifically with respect to the display of a graph visualisation in the first interface, it will be appreciated that the same techniques could be applied to other forms of information, and the description is not therefore intended to be limiting.
[0146] In this example, the system includes a data visualisation module 810, which displays the first user interface 811, and a data collector module 820, which displays the second user interface 822 and maintains an internal state machine 821. The data visualisation module 810 and data collector module 820 are connected via an event integration bus 830, which allows events, such as user inputs, to be transferred between the modules.
[0147] The data visualisation module 810 includes a user interface event bus 812, which allows selection of events 813 to be interpreted, so that the graph visualisation can be modified. The event bus 812 is in communication with an event forwarder 813, which allows events to be submitted to the event integration bus 830, for transfer to the data collector module 820. The data visualisation module 810 also includes an integration event monitor 815, which receives events from the event integration bus 830, and a visualiser API (Application Programming Interface) 816, which updates the graph visualisation
[0148] The data collector module 820 includes an internal state machine, which is represented in the diagram by box 821, which shows internal states 821.1 representing an example chronological series of state changes in the state machine, which correspond to different stages of the chat dialogue as derived from the script branching tree structure. The states 821.1 interface with the integration event bus 830, allowing events to be transferred to or received from the integration event bus 830, whilst also controlling the content of dialogue boxes 822.1 , which are displayed in the second interface 822 allowing the user to provide responses 822.2. It will be appreciated that the state machine might remain in any given state for an indefinite period while awaiting user input, and that the state machine can be influenced, aborted or loaded with a different chat script, even if it is awaiting user input, based on user actions in the first interface. [0149] An example of the process for using user interaction with the graph to control the chat interface will now be described with reference to Figure 8A.
[0150] In this example, in state 1, the state machine 821 causes a first dialogue section to be presented to the user, with the user responding, thereby causing a second dialogue section to be selected from the script based on the user response, with the second dialogue section being displayed in state 2. The user then responds, providing a user response 831, which involves the user selecting a node within the graph representation displayed via the first user interface 811. The node selection event is forwarded by the event forwarder 814, at 832, with the forwarded event including a payload corresponding to an identity of the selected node. The event and payload are routed via the integration event bus 830 to the state machine 821 at 833.
[0151] During this process, the state machine 821 waits in state 2, until the event 833 is received, at which point the state machine 821 uses the event payload, and in particular the identity of the selected node, to trigger state 3, which selects a next dialogue section from the script and causes this to be displayed via the chat interface 822. A further user response is provided, allowing the state machine to progress to the next state and display a further dialogue section, which is relevant to the selection made by the user. This process can then be repeated allowing ongoing interaction with the graph visualisation.
[0152] An example of the process for using the chat interface input to control the visualisation will now be described with reference to Figure 8B.
[0153] In this example, in state 8, a dialogue section is presented to the user based on the script, with the user selecting a response option 841. The state machine 821 forwards an indication of the selected user option 842, via the event integration bus 830, which forwards this as a data collection event 843 to the integration event monitor 815. The integration event monitor 815 determines an event payload corresponding to the selected user option, and uses this to provide instructions to the visualiser API 816, causing this to update the graph visualisation, using either local or remote manipulations, as previously described.
[0154] Following provision of the response option 841, the state machine progresses to state 9 to select a next dialogue section from the script, which is then displayed to the user via the chat interface 822. This in turn prompts the user to provide text input 844, which is then passed by state 9 to the event integration bus 830 at 845, before being provided to the integration event monitor 815, allowing the graph visualisation to be further updated based on the text input.
[0155] It will be appreciated that in this manner inputs provided via the chat interface can be used to cause the graph visualisation, or other information, to be updated.
[0156] Accordingly, it will be appreciated that this process can be performed iteratively progressively updating both the graph representation and the displayed chat dialogue, based on the script. This is arranged so that the user progresses through a conversation, which leads the user to explore the occupations taxonomy, via the graph visualisation, which can assist in identifying occupations that may be of interest to them, identify a next step in a career planning process, identify further areas to explore, or the like. In this regard, it has been found that this guided search process is far more successful in allowing users to explore potential occupations that are aligned with their interests, expertise and qualifications, allowing them to more readily identify potential occupations of interest.
[0157] The above described processes can avoid drawbacks of previous approaches, in particular, allowing user interaction with the system to be performed in a substantially automated fashion thereby avoiding the need for engagement of an operator or other individual. Additionally, this can be implemented without requiring large amounts of processing or bandwidth, meaning it is feasible for this to be implemented in a web based environment. Specifically, this enables the process to be performed in a client device agnostic manner, allowing the process to be performed using a wide range of different client devices, executing different operating systems, and without limitations being encountered due to different processing capabilities.
[0158] An example of a process for providing recommendations will now be described with reference to Figure 9.
[0159] In this example, at step 900 input data are acquired. The input data can be any one of a number of forms as previously discussed and could include any one or more of user preferences, user interests, user qualifications, user engagement, user behavioural patterns, user ratings, user input commands, search queries, including current and historical search queries, search results, or the like. The input data can be acquired in any appropriate manner, and in one example, this could involve the use of data collection techniques, such as surveys, outcomes from chat discussions performed using chat bots and/or the process outlined above, retrieving data from user profile, logged events, such as details of interactions with the graph visualisation, or the like.
[0160] At step 905, various metrics are generated from the input data, with the nature of the metrics varying depending on the preferred implementation. For example, the metrics could include a list of occupations of interest, details of user qualifications, such as grades or the like, ratings associated with previous displayed content or occupations, the number of times details of particularly occupations have been viewed, lists of occupations that have been identified in search results, or the like. The particular metrics used are typically derived from the outcome of training a computational model using machine learning techniques. In this regard, the computational model is typically trained using a variety of different combinations of different metrics, based on recommendations that users have rated, with the metrics that lead to the best model being selected following an iterative training process.
[0161] The metrics are applied to the computational model at step 910, with this operating to provide one or more recommendations as outputs. The nature of the outputs from the model will vary depending on the manner in which the model is used, and the preferred implementation. For example, the recommendations could include lists of occupations that might be of interest to the user, and which the user should therefore explore more thoroughly. The recommendations could include recommendations for performing additional research, such as to provide additional information by completing surveys, or similar. The recommendations could include outlines of further education or qualifications that might be required in order to meet requirements associated with one or more occupations, or the like.
[0162] The recommendations are displayed to the user at step 920, allowing the user to review the recommendations and take appropriate action. The recommendations will also typically be stored, allowing these to be reviewed and optionally accessed by an overseer, such as a teacher or careers guidance counsellor. [0163] Accordingly, the above described process uses machine learning to help determine recommendations for users, including recommendations relating to actions the user may wish to perform, occupations that might be of interest, or the like. The use of machine learning enables the system to automatically provide recommendations, and not just simply guide the user in exploring details of available occupations. Furthermore, by allowing the process to be based on wide range of different inputs, this typically results in a recommendation process that is far more effective than one based solely on the input of a person.
[0164] In order to further enhance the effectiveness of the process, the user engagement can be monitored at step 925, with this being used to update the model at step 930, so that the model becomes more accurate. User engagement can be assessed in a wide variety of manners, and this could include a user providing a user rating, so that if a user rates a recommendation poorly, this will adjust the model so that it is less likely that a similar recommendation will be made in future. However, other mechanisms of monitoring engagement can also be used. For example, if the user spends a long time reviewing results displayed via the graph visualisation, this indicates that these are of interest, and that the recommendation was good, whereas if results are only skimmed or reviewed briefly, this indicates that recommendations were less relevant. It will be appreciated that a wide variety of different metrics could be used to assess user engagement, including ongoing interaction with the system, further searching, user ratings, user behaviours, user responses, or the like.
[0165] An example functional arrangement for implementing the recommendations system is shown in more detail in Figure 10.
[0166] In this example, input data are collected by an input module 1010, which collects input data relating to mindsets 1011, traits 1012, behaviours 1013 and desired future directions 1014. Each of these can be collected via a respective collection mechanism, typically including surveys or chat discussions 1015, 1016, user profile logged events 1017 and user profile logged events, as well as exploration of a heat map and depth and diversity missions 1018.
[0167] Input data are fed into a number of base theoretical models 1021, 1022, 1023, which convert the input data into one or more metrics. The metrics are then applied to a model module 1030, including a computational model 1031. The model 1031 generates outputs, which are supplied to an interface module 1040 of the client device 230. The outputs can include an optimal next best action 1041, such as a recommendation for further research, direction exploration, targeted actions, such as seeking qualifications, or the like. Recommendations can also include content recommendations 1042, such as search results or search terms or filters, which can be used in the above described process to generate a graph visualisation that is likely to be of relevance to a user. This can also include the possibility of retrieval of content from external sources, or the like.
[0168] In general, the client device 230 is used to collect user inputs defining user engagement, such as user ratings, or other behaviours or responses, which can be used to assess how useful the recommendations were, with this being fed back into the model module 1030, at 1032, allowing the model to be refined.
[0169] Further guidance can be provided to the user using a number of other frameworks and visualisation tools and examples of these are shown in Figures 11 A to 11D.
[0170] Figure 11 A shows a model that can be used to guide the user in understanding the impact of different influences. This includes sustainable outcomes and fertile foundations layers 1101, 1102, which guide self-actualisation and efficacy and hope and optimism, respectively. Ongoing influences and experiences 1103 have an impact on the users dynamic self, whilst ongoing external change 1105, alters the dynamic world 1106, representing the environment that the user experiences. The dynamic world and dynamic self interact via agency and aspiration. It will be appreciated that populating this model can assist in guiding the user as to occupations that might be worth exploring and can act to provide inputs for the recommendation process.
[0171] Figure 11B shows a graph illustrating the interaction between a user’s curiosity and certainty, represented on the axes by a degree of exploration and a decidedness. An iterative process is performed moving from an exploratory curiosity stage, through inspiration and planning to an experimental phase in which plans are tested. This corresponds to the user using the above tools to identify occupations that might be of interest, and then explore these further. Ratings can be generated regarding the level of interest, with this providing learning, which can then feedback into the curiosity stage to enable further improved exploration. [0172] Figure 11C shows a heat map, which can be used to provide feedback regarding potential occupations of interest. For example, if a user ranks different occupations, this can then be displayed by showing a graph representation including coloured nodes, highlighting regions of interest or disinterest, which can in turn further direct the user to perform additional exploration of the occupations taxonomy, whilst also acting as input for the recommendations process.
[0173] Finally, in Figure 11D a dashboard is shown, which can be used by overseers, such as career counsellors, to easily understand the status of one or more individuals using the system. This includes a status summary window 1131, an interests cluster 1132 and a recommendations window 1133.
[0174] The summary window includes a graphical representation of the model of Figure 11B, showing a node associated with each of a number of individuals, outlining where the individual is in the curiosity / experimentation cycle. The interests cluster provides an overview of the degree of interest each user has in different fields, whilst the recommendations window 1133 shows current recommendations and associated actions for the users. The facilitates the overseer in understanding the current situation for each user, and how the user can be best assisted through the use of the above described tools.
[0175] In one example, the above described processes are implemented using three layers of data to triangulate best next action for each user, training the user in healthy adaptive skills as per latest research and best practice rather than always funnelling towards‘an answer’ . In particular, this takes into account a current mindset and beliefs, a current status and behaviour patterns, as well as interest patterns.
[0176] As the user engages with the system, they are provided with recommendations, guiding them in exploring a range of different career options. Results of this exploration are used to provide a feedback loop, to provide further ongoing guidance. Data collected through exploration and engagement with the system can also be used to ensure that educators and parents are collaborators in the process.
[0177] Throughout this specification and claims which follow, unless the context requires otherwise, the word“comprise”, and variations such as“comprises” or“comprising”, will be understood to imply the inclusion of a stated integer or group of integers or steps but not the exclusion of any other integer or group of integers. As used herein and unless otherwise stated, the term "approximately" means ±20%.
[0178] Persons skilled in the art will appreciate that numerous variations and modifications will become apparent. All such variations and modifications which become apparent to persons skilled in the art, should be considered to fall within the spirit and scope that the invention broadly appearing before described.

Claims

THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS: 1) A method for presenting a data visualisation relating to a taxonomy, the method being performed using a processing system and client device in communication via a communications network, the method including: a) in the processing system: i) generating a search query at least partially in accordance with user input commands provided via the client device; ii) performing a search of a taxonomy database in accordance with the search query to determine search results including: (1) a plurality of taxonomy terms; and, (2) relationships between the plurality of taxonomy terms; iii) generating graph data using the search results, the graph data being indicative of a graph structure generated using the plurality of taxonomy terms and the relationships; iv) transferring the graph data to a client device via the communication network; b) in an application executed by the client device: i) rendering a graph visualisation using the graph data, the graph visualisation including(1) a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms, and the number of nodes including a root node indicative of at least one of: (a) a search term used in the search query; and, (b) a closest match taxonomy term; and, (2) a number of connections between nodes, the connections being indicative of relationships between the taxonomy terms; and, ii) displaying the graph visualisation to a user. 2) A method according to claim 1, wherein the method includes: a) in the processing system: i) determining a search results ranking; and, ii) generating the graph data in accordance with the search results ranking; and, b) in the application executed by the client device, displaying the graph visualisation in accordance with the search results ranking. 3) A method according to claim 1 or claim 2, wherein the method includes rendering the graph visualisation in accordance with a defined number of taxonomy terms. 4) A method according to claim 3, wherein the method includes at least one of: a) in the processing device, at least one of: i) performing the search to determine search results in accordance with the defined number of taxonomy terms; ii) filtering search results in accordance with the defined number of taxonomy terms; and, iii) generating graph data including the defined number of taxonomy terms; and, b) in the application executed by the client device, filtering the graph data to in accordance with the defined number of taxonomy terms. 5) A method according to claim 3 or claim 4, wherein the defined number of taxonomy terms are based on at least one of: a) user preferences; b) communications parameters; and, c) application parameters. 6) A method according to any one of the claims 1 to 5, wherein the method includes, in the application executed by the client device: a) determining user input commands indicative of user interaction with the graph visualisation; and, b) displaying an updated graph visualisation in accordance with the user input commands.7) A method according to any one of the claims 1 to 6, wherein the method includes, in the application executed by the client device: a) updating graph data in accordance with user input commands; and, b) rendering an updated graph visualisation in accordance using the updated graph data.8) A method according to any one of the claims 1 to 7, wherein the method includes: a) in the processing system: i) generating an updated search query at least partially in accordance with user input commands provided via the client device; ii) performing a further search of the taxonomy database in accordance with the updated search query to determine updated search results; iii) generating updated graph data using the updated search results; and, iv) transferring the updated graph data to the client device via the communication network; and, b) in the application executed by the client device, rendering an updated graph visualisation using the updated graph data. 9) A method according to any one of the claims 1 to 8, wherein the method includes: a) in the application executed by the client device: i) determining input data indicative of user input commands; and, ii) transferring the input data to the processing system via the communications network; and, b) in the processing device, generating the search query using the input data. 10) A method according to any one of the claims 1 to 9, wherein the method includes, in the application executed by the client device: a) displaying a first user interface including the graph representation; and, b) displaying a second user interface that presents content to the user. 11) A method according to claim 10, wherein the method includes in the application executed by the client device, determining the user input commands as inputs provided via the first or second user interface. 12) A method according to claim 10 or claim 11, wherein the second user interface includes a chat window, and wherein the method includes: a) generating chat dialogue; and, b) in the application executed by the client device: i) displaying the chat dialogue in the chat window; ii) determining user input commands in response to display of the chat dialogue.13)A method according to claim 12, wherein the method includes interpreting user input commands via second user interface using natural language processing. 14) A method according to claim 12 or claim 13, wherein the method includes generating the chat dialogue using at least one of: a) user input commands; b) search results; and, c) a script. 15)A method according to any one of the claims 12 to 14, wherein the method includes: a) using user input commands provided via the second user interface to update the graph representation; and, b) using user input commands provided via the first user interface to generate chat dialogue.16) A method according to any one of the claims 12 to 15, wherein the method includes: a) using a first module to generate the first user interface; b) using a second module to generate the second user interface; and, c) exchanging user input commands between the first and second modules. 17) A method according to any one of the claims 1 to 16, wherein the graph data are transferred between the processing system and client device as Javascript Object Notation files. 18) A method according to any one of the claims 1 to 17, wherein the application is a browser application executed by the client device. 19)A method according to any one of the claims 1 to 18, wherein the browser application generates the representation using Javascript. 20) A method according to any one of the claims 1 to 19, wherein the method includes determining a user rating associated with at least one taxonomy term in accordance with user input commands. 21) A method according to any one of the claims 1 to 20, wherein the method includes performing the search using at least one of: a) user preferences; b) user interests; c) user qualifications; d) user engagement; e) user behavioural parameters; f) user ratings; g) input data obtained from a plurality of user input commands; h) a history of previous search queries; i) a history of previous search results; j) machine learning techniques. 22) A method according to any one of the claims 1 to 21, wherein the method includes: a) generating recommendations at least in part relating to the taxonomy; and, b) in the application executed by the client device, displaying an indication of the recommendations . 23) A method according to any one of the claims 1 to 22, wherein the recommendations include at least one of: a) an indication of one or more taxonomy terms; b) one or more requirements associated with the taxonomy terms; and, c) one or more actions. 24) A method according to any one of the claims 1 to 23, wherein the method includes, in the processing system: a) generating metrics using at least one of: i) user preferences; ii) user interests; iii) user qualifications; iv) user engagement; v) user behavioural parameters; vi) user ratings; vii) input data obtained from a plurality of user input commands; viii) search queries; ix) search results; and, x) a behavioural framework; b) applying the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement by users in response to recommendations . 25) A method according to claim 24, wherein the behavioural parameters relate to factors of at least one of: a) awareness, b) aspiration; and, c) agency. 26) A method according to any one of the claims 1 to 25, wherein the method is used to provide career guidance and wherein: a) the taxonomy terms relate to different occupations; and, b) career planning recommendations are provided relating to at least one of: i) career planning actions; ii) career planning options; iii) occupations; iv) actions needed to identify different occupations; and, v) mechanisms for identifying occupations of interest. 27) A system for presenting a data visualisation relating to a taxonomy, the system including a processing system and client device in communication via a communications network, and wherein: a) the processing system is configured to: i) generate a search query at least partially in accordance with user input commands provided via the client device; ii) perform a search of a taxonomy database in accordance with the search query to determine search results including: (1) a plurality of taxonomy terms; and, (2) relationships between the plurality of taxonomy terms; iii) generate graph data using the search results, the graph data being indicative of a graph structure generated using the plurality of taxonomy terms and the relationships; iv) transfer the graph data to the client device via the communication network; b) an application executed by the client device is configured to: i) render a graph visualisation using the graph data, the graph visualisation including(1) a number of nodes, each node being indicative of a respective one of the plurality of taxonomy terms, and the number of nodes including a root node indicative of at least one of: (a) a search term used in the search query; and, (b) a closest match taxonomy term; and, (2) a number of connections between nodes, the connections being indicative of relationships between the taxonomy terms; and, ii) display the graph visualisation to a user. 28) A method for providing information to assist interaction via a user interface, the method being performed using a processing system and client device in communication via a communications network, the method including: a) in the processing system: i) determining information at least partially in accordance with user input commands provided via the client device; and, ii) retrieving a script related to the information; b) in an application executed by the client device: i) displaying a first user interface including the information received from the processing system; and, ii) displaying a second user interface including a chat window, the chat window including chat dialogue determined at least in part using the script; and, iii) determining user input commands in response to display of the chat dialogue, wherein the user input commands are provided as inputs provided via the first or second user interface, and wherein the user input commands are used to at least one of: (1) update information displayed via the first user interface; and, (2) generate chat dialogue to be displayed via the second user interface.29) A method according to claim 28, wherein the method includes interpreting user input commands via the second user interface using natural language processing. 30) A method according to claim 28 or claim 29, wherein the method includes generating the chat dialogue using at least one of: a) user input commands; b) search results; and, c) the script. 31) A method according to any one of the claims 28 to 30, wherein the method includes: a) using user input commands provided via the second user interface to update the information; and, b) using user input commands provided via the first user interface to generate chat dialogue.32) A method according to any one of the claims 28 to 31, wherein the method includes: a) using a first module to generate the first user interface; b) using a second module to generate the second user interface; and, c) exchanging user input commands between the first and second modules. 33) A method according to claim 32, wherein the method includes, in the second module: a) forwarding events indicative of input commands to the first module to cause the first module to update the information; b) receiving events indicative of user interaction with the information from the first module; and, c) using events to select chat dialogue for display. 34)A method according to any one of the claims 28 to 33, wherein the method includes: a) generating a search query at least partially in accordance with user input commands provided via the client device; and, b) performing a search in accordance with the search query to retrieve at least one of: i) the information; and ii) the script. 35) A method according to any one of the claims 28 to 34, wherein the information includes a graph visualisation generated using the method of any one of the claims 1 to 26. 36) A system for providing information to assist interaction via a user interface, the system including a processing system and client device in communication via a communications network, and wherein: a) the processing system is configured to: i) determine information at least partially in accordance with user input commands provided via the client device; and, ii) retrieve a script related to the information; b) an application executed by the client device is configured to: i) display a first user interface including the information received from the processing system; and, ii) display a second user interface including a chat window, the chat window including chat dialogue determined at least in part using the script; and, iii) determine user input commands in response to display of the chat dialogue, wherein the user input commands are provided as inputs provided via the first or second user interface, and wherein the user input commands are used to at least one of:
(1) update information displayed via the first user interface; and,
(2) generate chat dialogue to be displayed via the second user interface.
37) A method for providing career planning recommendations, wherein the method includes, in a processing system:
a) generating metrics using at least one of:
i) user preferences;
ii) user interests;
iii) user qualifications;
iv) user engagement;
v) user behavioural parameters;
vi) user ratings;
vii) input data obtained from a plurality of user input commands;
viii) search queries;
ix) search results; and,
x) a behavioural framework;
b) applying the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement by users in response to recommendations .
38)A method according to claim 37, wherein the method includes generating metrics based on user interaction with a graph visualisation generated using the method of any one of the claims 1 to 26.
39) A system for providing career planning recommendations, wherein the system includes a processing system configured to:
a) generate metrics using at least one of:
i) user preferences;
ii) user interests; iii) user qualifications;
iv) user engagement;
v) user behavioural parameters;
vi) user ratings;
vii) input data obtained from a plurality of user input commands;
viii) search queries;
ix) search results; and,
x) a behavioural framework;
b) apply the metrics to at least one computational model to determine a recommendation, the at least one computational model being at least partially indicative of a relationship between different metrics and recommendations, the at least one computational model being obtained by applying machine learning to user engagement previously provided by users in response to recommendations.
PCT/AU2019/050602 2018-06-20 2019-06-12 Data visualisation method and apparatus WO2019241829A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2018902191A AU2018902191A0 (en) 2018-06-20 Data visualisation method and apparatus
AU2018902191 2018-06-20

Publications (1)

Publication Number Publication Date
WO2019241829A1 true WO2019241829A1 (en) 2019-12-26

Family

ID=68982542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2019/050602 WO2019241829A1 (en) 2018-06-20 2019-06-12 Data visualisation method and apparatus

Country Status (1)

Country Link
WO (1) WO2019241829A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050042585A1 (en) * 2003-08-18 2005-02-24 Eskenazi Steven Farrell Method and system for providing career guidance information
US20130212031A1 (en) * 2012-02-10 2013-08-15 Oracle International Corporation Modeling career path based on successful individuals in an organization
US20140143165A1 (en) * 2012-11-20 2014-05-22 Christian Posse Customizing a user-experience based on a job-seeker score
US8818926B2 (en) * 2009-09-29 2014-08-26 Richard Scot Wallace Method for personalizing chat bots
US20160103837A1 (en) * 2014-10-10 2016-04-14 Workdigital Limited System for, and method of, ranking search results obtained by searching a body of data records

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050042585A1 (en) * 2003-08-18 2005-02-24 Eskenazi Steven Farrell Method and system for providing career guidance information
US8818926B2 (en) * 2009-09-29 2014-08-26 Richard Scot Wallace Method for personalizing chat bots
US20130212031A1 (en) * 2012-02-10 2013-08-15 Oracle International Corporation Modeling career path based on successful individuals in an organization
US20140143165A1 (en) * 2012-11-20 2014-05-22 Christian Posse Customizing a user-experience based on a job-seeker score
US20160103837A1 (en) * 2014-10-10 2016-04-14 Workdigital Limited System for, and method of, ranking search results obtained by searching a body of data records

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DESHPANDE, A. ET AL.: "A survey of various chatbot implementation techniques", INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING AND APPLICATIONS, vol. 11, 2017, XP055666643, ISSN: 2321-3469 *

Similar Documents

Publication Publication Date Title
Shi et al. World of bits: An open-domain platform for web-based agents
Fogués et al. BFF: A tool for eliciting tie strength and user communities in social networking services
CN108255921A (en) The system for determining and showing the relevant explanation of recommendation
US20210311751A1 (en) Machine-learning models applied to interaction data for determining interaction goals and facilitating experience-based modifications to interface elements in online environments
Raikov et al. Big data refining on the base of cognitive modeling
US9449111B2 (en) System and method for generating and accessing trails
US9536445B2 (en) System and method for visually tracking a learned process
US20140122404A1 (en) System and method for displaying a trail
US9292883B2 (en) System and method for managing a trail
Sielis et al. Context-aware recommendations using topic maps technology for the enhancement of the creativity process
Lamqaddam et al. When the tech kids are running too fast: Data visualisation through the lens of art history research
López et al. Modelling entrepreneurial attitudes in women entrepreneurs with bayesian networks
JP2021140588A (en) Matching system, matching method, and matching program
Alvarez-Cortes et al. Current trends in adaptive user interfaces: Challenges and applications
WO2019241829A1 (en) Data visualisation method and apparatus
Apostolou et al. Facilitating creativity in collaborative work with computational intelligence software
Sayed et al. Android based Chat-Bot
Setiawan et al. Mobile visual programming apps for internet of things applications based on raspberry Pi 3 platform
Monadjemi et al. Human–Computer Collaboration for Visual Analytics: an Agent‐based Framework
Ritchie et al. The role of non-intrusive operator logging to support the analysis and generation of product engineering data using immersive VR
CN109684466B (en) Intelligent education advisor system
Poitras et al. Mining the edublogosphere to enhance teacher professional development
Mabunda An intelligent chatbot for guiding visitors and locating venues
Varela Interface Design for Human-guided Explainable AI
Lindsay et al. Supporting an online investigation of user interaction with an XAIP agent

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WPC Withdrawal of priority claims after completion of the technical preparations for international publication

Ref document number: 2018902191

Country of ref document: AU

Date of ref document: 20201202

Free format text: WITHDRAWN AFTER TECHNICAL PREPARATION FINISHED

122 Ep: pct application non-entry in european phase

Ref document number: 19821573

Country of ref document: EP

Kind code of ref document: A1