Influencing of user utterances in a dialogue system without reliance on freeform input
The system enables user interaction through non-freeform input methods, enhancing dialogue flexibility and engagement by allowing selection of candidate utterance generation input data, addressing limitations in existing dialogue systems.
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- MEANING MACHINE LTD
- Filing Date
- 2024-12-04
- Publication Date
- 2026-07-08
AI Technical Summary
Existing dialogue systems limit user interaction to pre-defined options or require freeform input methods like microphones or keyboards, which are not always feasible, especially in gaming contexts where users often use gamepads or touchscreens, leading to restricted user influence over dialogue content.
A graphical user interface and user input device system that allows selection of candidate utterance generation input data, enabling users to influence dialogue content through non-freeform input methods, utilizing natural language processing to generate and select user utterances.
Enhances user interaction by allowing influence over dialogue content, improving engagement and flexibility in dialogue systems, particularly in gaming environments where freeform input is not available.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Field of the Invention The invention relates to a computer-implemented method of and system and computer program for influencing user utterances in a dialogue, particularly between at least a user and a non-player character. Background Many different software applications have been developed, particular in the field of video gaming, in which a user can take part in dialogue. For example, dialogue systems may enable dialogue between a user-controlled character or avatar and a non-player character (NPC). In such systems dialogue options are common. For example, a user may be presented with a graphical user interface comprising possible user utterances, displayed in their entirety. The user must read through them and select one of the lines that the user’s character or avatar is to “speak”. However, the user is not able to influence the content of utterances on the list. Generative Al allows for the dialogue provided by an NPC to be freeform. Users may be able to take part via an input device which allows complete verbal freedom of input, such as a microphone or keyboard. However, users may not have a suitable microphone, may prefer not to take part in dialogue with a non-player character using a microphone, or inaccuracies that arise through transcription of spoken words may be unsatisfactory. Often users do not use keyboards or microphones, particularly when playing games on consoles. Instead, users use gamepads or joysticks, which do not permit easy input of words. Also, devices configured for touch screen inputs but without a keyboard may have virtual on-screen keyboard, but such keyboards are slow and cumbersome to use; in some respects the limitations of touch screen devices are comparable to those of joysticks and gamepads. According to a known document, US20070226648A1, the user may be presented with several words / phrases from which the user may choose by navigating between the words / phrases using a directional user input device and selecting one of the words / phrases with a button. This allows the user to participate in a dialogue with an NPC. The user cannot however influence the words / phrases available for selection. In conclusion, where a user cannot or does not wish to use a user interface enabling freeform input of utterances, ability of a user to influence dialogue is limited. An objective of the invention is to address this problem. Summary of the Invention According to a first aspect of the present invention, there is provided apparatus for influencing user utterances in a dialogue, comprising: processing means; and a user input device, wherein the processing means is configured to: provide a graphical user interface enabling selection by operation of the user input device of at least one of a plurality of candidate utterance generation input data (or enabling such selection other than with a graphical user interface); receive from the user input device information indicative of the selection; determine, influenced by the selected utterance generation input data, an utterance, or a plurality of candidate utterances for the user to select one from using the user input device, for adding to the dialogue. Thus, the apparatus assists in generating of user utterances and ability of a user to influence user utterances is improved relative to the prior art, particularly where freeform input of utterances is not enabled, wanted or possible. This results in overall improvement in dialogue between a user and an NPC, in particular in such contexts. According to a second aspect of the present invention, there is provided a computer-implemented method of influencing user utterances in a dialogue, comprising: providing a graphical user interface enabling selection, by a user using a user input device, of at least one of a plurality of selectable candidate utterance generation input data (or enabling such selection other than with a graphical user interface); receiving from the user input device information indicative of selection of at least one of the candidate utterance generation input data; determining, influenced by the selected utterance generation input data, an utterance, or a plurality of candidate utterances for the user to select one from using the user input device, for adding to the dialogue. The method may further comprise, where candidate user utterances are generated, causing display on the graphical user interface of the candidate utterances (or enabling such selection other than with a graphical user interface) wherein selection of each is enabled; receiving from the user input device information indicative of selection of the candidate utterances; adding the selected utterance to the dialogue. The determining the utterance, or the plurality of candidate utterances, may further comprise: generating instructions for a natural language processing (NLP) system, the instructions comprising: information indicative of the selected at least one utterance generation input data; optionally context information; optionally historical dialogue; optionally guidance for content of the candidate user utterances to be generated in view of the utterance generation input data, optionally the context information if the instructions comprise the context information and optionally the historical dialogue if the instructions comprise the historical dialogue; providing the instructions to the NLP system and obtaining the candidate utterances in response. The instructions may further comprise additional information, for example text created by the user and / or automatically or one, more or all objects from an inventory, which is such as to influence the candidate utterances generated by the NLP system. The method may further comprise: after the adding of the selected utterance to the dialogue, determining a non-player character (NPC) utterance and adding that to the dialogue; determining a plurality of further candidate utterances, comprising: generating further instructions for the natural language processing system, the instructions comprising: the utterance generation input data selected in a preceding turn; the non-player character utterance and optionally a recent portion or all of the historical dialogue; optionally the context information; and optionally guidance for content of the candidate user utterances to be generated in view of the utterance generation input data selected in the preceding turn, the non-player character utterance, optionally the recent portion or all of the historical dialogue if the instructions comprise such dialogue, and optionally the context information if the instructions comprise the context information; providing the further instructions to the natural language processing system and obtaining the further candidate utterances in response; enabling selection on the graphical user interface, by the user using the user input device, of the further candidate user utterances. The method may further comprise: after the adding to the dialogue of the NPC utterance and before the generating of the further instructions, determining if the NPC utterance would typically provoke a direct response in natural conversation; depending on a result of the determining being that the NPC would typically result in a direct response, determining candidate utterance generation input data indicative of topic imposed by the NPC utterance and using this candidate utterance generation input data in the further instructions in place of the utterance generation input data selected in the preceding turn. At least two of the candidate utterance generation input data may be generated using different paths. This encourages deviation in content of the candidate utterance generation input data. The method may further comprise determining one or more of the candidate utterance generation input data before enabling selection. The determining at least one of the candidate utterance generation input data may comprise: generating instructions for an NLP system, the instructions comprising at least one of: context information; historical dialogue; guidance for content of the candidate utterance generation input data to be generated, optionally in view of at least context information if the instructions comprise the context information and / or the historical dialogue if the instructions comprise the historical dialogue; providing the instructions to the natural language processing system and obtaining the one or more candidate utterance generation input data in response. The instructions may further comprise additional information created by the user and / or automatically and previously presented to the user on the graphical user interface and / or relating to objects in a session (e.g. a game or other interactive session), which is such as to influence the one or more candidate utterance generation input data generated by the NLP system. The guidance may specify that, if in the historical dialogue an utterance since a last user utterance (if any) is a question, one or more of the candidate utterances must address the question. The determining one or more of the candidate utterance generation input data (according to one of the paths) may comprise: determining one or more graphics from a plurality of stored graphics each indicative of topics; wherein the enabling selection of one of a plurality of candidate utterance generation input data comprises enabling selection of at least one of the determined graphics, and wherein, if one of the graphics is selected, the determining of the plurality of candidate utterances is influenced by the selected graphic. The plurality of graphics may be stored in a data store on a memory. Each of the graphics may have an associated stored character string, wherein the determining the one or more candidate utterance generation input data also comprises determining the character string associated with the one or more selected graphics, wherein the determining of an utterance, or a plurality of candidate utterances for the user to select one from, is influenced by the one or more character strings. The determining at least one of the candidate utterance generation input data may comprise: determining a word or uninterrupted sequence of words in the historical dialogue to be candidate utterance generation input data, wherein the providing a graphical user interface enabling selection comprises displaying the word or uninterrupted sequence of words visually differently to other words in the historical dialogue. The determining of the word or uninterrupted sequence of words may comprise: generating instructions for a natural language processing system, the instructions comprising at least: the historical dialogue; and guidance as to selection of a word or words from the historical dialogue; providing the instructions to the natural language processing system and obtaining the selection in response. In the graphical user interface the historical dialogue may be viewed by the user and a word or an uninterrupted sequence of words in the historical dialogue may be selectable, wherein the determining at least one of the candidate utterance generation input data may comprise: receiving inputs from the user input device indicative of selection of a word or an uninterrupted sequence of words; determining, influenced by the selected word or sequence of words, a plurality of candidate utterances for the user to select one from, for adding to the dialogue. At least two of the candidate utterance generation input data may be generated using the same path. The graphical user interface is configured to enable selection of one of the candidate utterance generation input data and of one of the candidate user utterances using a user input device, wherein the user interface is at least one of: a focus-based navigation interface; an extended reality graphical user interface, wherein the user input device is for navigation and selection in an extended reality environment; a non-pointer based navigation interface; a gesture based interface. According to a third aspect of the present invention, there is provided a computer-implemented method of influencing user utterances in a dialogue, comprising: providing a graphical user interface displaying a set of graphics and enabling selection of at least one; receiving from a user input device information indicative of the selected at least one graphic; determining, influenced by the selected at least one graphic, a plurality of candidate utterances for the user to select one from, for adding to the dialogue. The method may further comprise, before displaying of the set of graphics, determining of the set of graphics from a plurality of stored graphics. Each of the graphics may have an associated stored, unique character string, in which case the method may comprise, before determining the plurality of candidate utterances determining the character string for the selected graphic, wherein the determining of the plurality of candidate utterances is influenced by the character string. The method may further comprise: causing display of the candidate utterances wherein selection of each is enabled; receiving from the user input device information indicative of selection of one of the candidate utterances; adding the selected utterance to the dialogue. The determining the plurality of candidate utterance may comprise: generating instructions for a natural language processing system, the instructions comprising: the selected at least one graphic and / or character string uniquely associated with the graphic; optionally context information; optionally historical dialogue; optionally guidance for content of the candidate user utterances to be generated in view of the at least one graphic and / or character string, optionally context information if the instructions comprise the context information, and optionally the historical dialogue if the instructions comprise the context information; providing the instructions to the natural language processing system and obtaining the candidate utterances in response. Each of the unique character strings is in accordance with a standard. Each of the graphic may be an emoji. According to a fourth aspect of the present invention, there is provided a computer-implemented method comprising: providing a graphical user interface enabling a user to view historical dialogue in a dialogue system and select a word or uninterrupted sequence of words in the historical dialogue; receiving inputs from a user input device indicative of user selection of a word or uninterrupted sequence of words in the historical dialogue: determining, influenced by the selected word or sequence of words, an utterance or a plurality of candidate utterances for the user to select one from, for adding to the dialogue. The inputs indicative of user selection may comprise inputs: navigating to an anchor word; selecting the anchor word; navigating to an end word; selecting the end word. According to a fifth aspect of the present invention, there is provided a computer-implemented method of influencing user utterances in a dialogue, comprising: providing a graphical user interface enabling a user to view historical dialogue in the dialogue system; determining at least one word or uninterrupted sequence of words in the historical dialogue as suitable for use in influencing utterance generation and rendering the at least one word or sequence of words as selectable; determining, influenced by the determined word or sequence of words, an utterance or a plurality of candidate utterances for the user to select one from, for adding to dialogue. The method may further comprise: displaying the determined word or sequence of words visually differently to other words in the historical dialogue; and receiving inputs from a user input device indicative of user selection of the word or uninterrupted sequence of words in the historical dialogue. The method may further comprise: causing display of the candidate utterances wherein selection of each is enabled; receiving from the user input device information indicative of selection of one of the candidate utterances; adding the selected utterance to the dialogue. The determining of the at least one word or uninterrupted sequence of words may comprise: generating instructions including the historical dialogue and guidance for determining words to a natural language processing system; providing the instructions to the natural language processing system and obtaining information indicative of the at least one word or uninterrupted sequence of words in response. The determining the plurality of candidate utterances, may comprise: generating further instructions for a natural language processing system, the further instructions comprising: the selected word or sequence of words; context information; historical dialogue; guidance for content of the candidate user utterances to be generated in view of the selected word or sequence of words, context information and the historical dialogue; providing the instructions to the natural language processing system and obtaining the candidate utterances in response. According to a seventh aspect of the present invention, there is provided computer-implemented method of influencing user utterances in a dialogue, comprising: providing a graphical user interface enabling selection of one of a plurality of candidate utterance generation input data each determined using a different path; receiving from a user input device information indicative of the selection; determining, influenced by the selected utterance generation input data, a user utterance or plurality of candidate utterances for the user to select one from, for adding to the dialogue. According to an eighth aspect of the present invention, there is provided computer-implemented method of influencing user utterances in a dialogue, comprising: determining, influenced by utterance generation input data, a plurality of candidate utterances for the user to select one from; providing a graphical user interface enabling selection of one of the plurality of candidate utterances; receiving from a user input device information indicative of the selection; and adding the selected utterance to the dialogue. The determining may comprise: generating instructions for a natural language processing system, the instructions comprising the utterance generation input data and optionally guidance for content of the plurality of candidate utterances; providing the instructions to the natural language processing system and obtaining a response comprising the plurality of candidate utterances. In the method of any one of the above mentioned aspects, the input device may be configured to enable navigation between adjacent options by a single touch or press action on the input device or a single gesture. According to yet other aspects, there is provided apparatus comprising: a processor; a memory storing a computer program comprising computer program instructions, wherein the processor and memory are configured so that the processor can execute the instructions to perform the methods of any one of the second to eight aspects. According to yet other aspects, there is provided computer program products comprising computer program instructions stored on a memory which, when executed on a processor, causes the processor to perform the methods of any one of the above mentioned aspects. According to any of the aspects of the invention, the user input device may comprise a directional input device or a touchscreen configured for navigation between the utterance generation input data and / or between candidate utterances, and selection thereof. Where the user input device is a directional input device, the input device may be configured to enable navigation between adjacent options by a single touch or press action on the input device or a single gesture, or where the user input device is a touchscreen, to enable selection in a single press action. In the methods, apparatus and computer program products of any of the aspects, the user input device may not enable freeform input of user utterances. Such an input device may enable navigation with a predetermined plurality of inputs (that is, be a directional input device), such as some joysticks or gamepads, or a gesture based input system in which predefined gestures are detected, or a motion control based system. Such an input device may be for a for navigation and selection in an extended reality (XR) (that is, virtual reality, augmented reality and / or mixed reality) environment and be for navigation between options (for example the utterance generation input data and / or the candidate utterances) and selection of at least one option in the XR environment. An input device for a or XR environment may, for example, be such a directional input device, gesture based input system, or a motion control based system but may also comprise a non-directional input device (for example a mouse, touchpad or rollerball) for controlling a pointer. The user input device may also be such that freeform input is enabled (for example a touchscreen may enable use of an on-screen keyboard), but where the user does not use a freeform input method. The GUI may not enable such freeform input, or such freeform input may be enabled but the user may not wish to provide input this way. The GUI may be in the form of a focus-based navigation interface. The methods, apparatus and computer program products of any of the aspects may be implemented in a gaming console or personal computer. Brief Description of Figures Embodiments of the invention are now described, by way of example only, with reference to the accompanying drawings in which: Figure 1 is a block diagram indicating basic steps of some embodiments; Figure 2 is a block diagram illustrating parts a dialogue system in accordance with embodiments, the dialogue system being for dialogue between a user and a nonplayer character; Figure 3 is a flow diagram indicating steps in a first turn of dialogue, including utterance generation in accordance with embodiments; Figure 4 is a flow diagram indicating steps in a subsequent turn of dialogue; Figure 5 is an image of a graphical user interface (GUI) for a specific game at the start of dialogue; Figure 6 is an image of the GUI for the specific game showing, in particular, candidate utterances; Figure 7 is an image of the GUI for the specific game showing, in particular, candidate emojis; Figure 8 is an image of the GUI for the specific game indicating how a candidate utterance may be selected; Figure 9 is a flowchart indicating steps in selection of a word or a sequence of words in historical dialogue; Figures 10 to 14 are images of the GUI for the specific game showing steps in the selection of a word or uninterrupted sequence of words; Figure 15 is an image of the GUI showing how selectable phrases in historical dialogue may be shown as selectable; Figure 16 is a block diagram of a simplified computing device upon which embodiments may be implemented; and Figure 17 is a flowchart indicating steps that occur when an NPC utterance imposes a topic. Detailed Description of Embodiments Embodiments of the invention relate to a dialogue system (“system”) and associated method in which user utterances are computer generated, and the user is able to influence the user utterances. Embodiments are particularly intended for, but not limited to use in, environments where a user uses a directional control device to provide inputs. The term “utterance” is to be understood herein as an uninterrupted sequence of words. Herein the term “historical dialogue” refers to some or all dialogue that has taken place in a session, for example, the duration of a game. The historical dialogue is not necessarily limited to conversation between the user and a non-player character (NPC). For example, the historical dialogue may include utterances presented as internal utterances (that is, “thoughts”) made by an NPC that are not stated in the dialogue, or information otherwise provided by the dialogue system, for example hints. The term “user utterance” refers to utterances made by the user in the session. Embodiments are not limited to there being a single user or a single NPC contributing to dialogue. The historical dialogue may comprise all dialogue between the or all users and the or all NPCs. The system is configured to enable the user to influence content of a user utterance to be added to the dialogue in a process of producing the user utterance. The system may be configured to enable the user to influence producing of the user utterance on at least one, at least two or at least three occasions. The system is configured to enable the user to influence determining of candidate utterances (also known as “dialogue options”) by providing for the user a plurality of candidate utterance generation input data for the user to select from. “Utterance generation input data” may be referred to herein as a “topic”, which is not necessarily to be construed according to its conventional meaning. As will be clear from the following description, a “topic” may comprise a word, phrase, statement, graphic, character string and / or code having sufficient meaning in light of the configuration of a natural language processing (NLP) system used in generation of candidate utterances that the NLP system can interpret the topic so as to influence generation of candidate utterances. Referring to Figure 1, the system provides a graphical user interface including selectable options for the user for selection of a topic from a variety of candidate topics. The variety of candidate topics is produced according to at least two possible paths at step 100, although in variant embodiments candidate topics may be generated according to a single path. The options may enable the user to select a path before selecting from different candidate topics produced according to that path (step 102). Additionally or alternatively, the options may enable the user to select from different candidate topics produced according to one or more paths, such that selection of a topic from the candidate topics is implicitly selection of that path. The paths comprise different steps for determining candidate topics, which result in different candidate topics. In generating of the candidate topics, instructions are provided to a natural language processing (NLP) system, which replies with the candidate topics. Selection of different topics by the user results in a different set of candidate user utterances. The system may be configured to generate the instructions so that the candidate topics are such as to lead to candidate user utterances that support the user in achieving an objective (for example solving of a problem, mystery or puzzle). The system produces a set of candidate utterances for the user to select from, thereby enabling the user to influence a user utterance used in dialogue, as indicated at step 104. The system may be configured to determine the set of candidate utterances such that one or more supports the user in achieving the objective. In generating of candidate user utterances, instructions comprising a selected topic are provided to a NLP system, which replies with candidate user utterances. The selected topic may influence the candidate user utterances. In some embodiments, more than one topic is selectable by the user for provision to the NLP system for influencing of candidate user utterances. The NLP system preferably comprises an NLP model configured to interpret natural language instructions and to generate a reply. The instructions provided to the natural language processing system for candidate utterance generation are referred to as utterance generation instructions. Instructions provided to the natural language processing system for generation of candidate topics are referred to as input data generation instructions. The language system may be more than one NLP model and the NLP model to which the utterance generation instructions and the input data generation instructions is provided may be the same or different. Input data generation instructions including utterance generation input data deriving from different paths may be provided to the same or different NLP models. The or each NLP model may be in the form of a large language model (LLM). For example, the or each LLM may be an LLM known as GPT-4, BERT, Bard and PaLM 2, which are provided by third parties. New LLMs are regularly made available by third party providers and future types of LLMs will become available that may be used to process utterance generation instructions and the input data generation instructions. Further, embodiments are not limited to use of LLMs and alternative NLP models may be used. The NLP system may be provided remotely from the system. The NLP system may be provided locally. The natural language processing system may be provided in part remotely and in part locally. For example, where the NLP system includes multiple LLMs, one or more may be provided locally and one or more may be provided remotely. According to an embodiment, the options in the GUI may include candidate topics in the form of words, phrases or statements. Additionally or alternatively, the options may include candidate topics comprising graphics in the form of emojis. Each emoji has an associated character string (or code) in accordance with the Unicode standard. The NLP system used to generate candidate utterances based on instructions including such a character string (or code) is configured to interpret meaning from such character strings (or codes) such that utterance generation can be influenced by them. Additionally or alternatively, the graphics may be not be emojis, and may comprise but are not limited to being pictograms, symbols and / or icons. Each graphic has a stored associated character string unique to the graphic. Embodiments are not limited to the graphics being of any particular kind, but to be useful the NLP system is configured to interpret meaning from the character string (or code) associated with the graphic, so that the graphic can influence utterance generation. Additionally or alternatively, the options may include topics in the form of emojis or other graphics (such as pictograms, symbols and / or icons) that can be received and interpreted by an NLP system (e.g. an LLM) as images without need for an associated character string, and bear sufficient meaning to be able to influence utterance generation. Additionally or alternatively, in a path the options may include options to select by the user a word or uninterrupted sequence of words in the historical dialogue. Selection of such word or words is selection of utterance generation input data (that is, a topic). The historical dialogue (at least after a few turns) offers numerous possibilities for composition of utterance generation input data, which are, in effect, candidate topics and thus multiple options are presented in this respect. Additionally or alternatively, in a path the option exists to select a word or phrase in the historical dialogue that is displayed visually differently to other text in the historical dialogue. For example the word is highlighted. Selection of such a word or phrase is selection of utterance generation input data (that is, a topic). The options as to candidate topics may be viewable on the GUI at the same time, but need not be. For example, the emojis may be viewable by selection of an emoji display object. Referring to Figure 2, in an embodiment a dialogue system is implemented in a game engine 10, a suggested topic system 12, a conversation topics system 14, a candidate utterance system 16 and a conversation system 18. The game engine 10 includes a database 30 storing static data about the game and session data including the historical dialogue and event history. Embodiments are not limited to the dialogue system comprising only this game engine 10 and systems 12, 14, 16, 18, and may include additional systems and modules. Also, functionality of the game engine 10 and the systems 12, 14, 16, 18 can be otherwise arranged, for example so as to all be within the game engine 10. Embodiments are not limited to being implemented in a game engine; for example embodiments may be implemented in an “engine” for a non-gaming purpose such as for an interactive experience (such as an immersive theatre experience). The dialogue system is a computer program that runs on a computer system coupled to a user interface 20 comprising a display 22 and a user input device 24. Alternatively, any one or more of the game engine 10 and systems 12, 14, 16, 18 may run on a remote server system or be distributed to run in part locally and in part on one or more remote server systems. The game engine 10 is configured to communicate with each of the suggested topics system 12, the conversation topics system 14, the candidate utterance system 16 and the conversation system 18. Each of the suggested topics system 12, the conversation topics system 14 and the candidate utterance system 16 is configured communicate with a NLP system 26. The NLP system is provided remotely, for example on one or more remote servers, but may alternatively be provided locally, running on the same computing device as the dialogue system and may be integrated in the dialogue system. Alternatively, some of the NLP system (for example an LLM used by one or more of the systems 12, 14, 16, 18) may be located locally and some of the NLP system (for example an LLM used by other of the systems 12, 14, 16, 18) may be located remotely. The systems 12, 14, 16, 18 each provide a service that generates instructions for the NLP system. In the following embodiments to provide the service each system 12, 14, 16, 18 can retrieve a stored template and is configured to generate instructions using at least the stored template. However, embodiments are not limited to use of templates and the service may be otherwise configured. For example the service may include generation of a configuration having the same or comparable or expanded content to the template. The game engine 10 is configured to cause display of the GUI on the display 22 for the user. The game engine 10 is also configured to receive information from the user input device 24 under the control of the user relating to navigation and selection. The game engine 10 is configured to communicate with the suggested topics system 12 to obtain one or more candidate topics. The suggested topics system 12 is configured to produce input data generation instructions for the NLP system 26 based on a stored first template, which includes context information and guidance for content of the candidate topics to be generated. The producing includes populating the first template with the current historical dialogue. The NLP system 26 is configured to provide candidate topics to the suggested topics system 12 in response. In turn the suggested topics system 12 is configured to pass the candidate topics to the game engine 10. The guidance in the first template comprises but is not limited to: that candidate topics are to be provided; information indicative of the number of candidate topics to be returned; and purpose and / or at least one nature of the topics to be provided by the natural language processing system 26. The guidance may specify that the topics may be a mix of topics having different natures and / or purposes. The guidance may specify that at least one topic may relate to topics discussed in the historical dialogue. The game engine 10 is also configured to communicate with the conversation topics system 14 to obtain one or more candidate topics. The conversation topics system 14 is configured to produce input data generation instructions for the NLP system 26 based on a stored second template including context information and guidance for content of the candidate topics to be generated different to the guidance in the first template. The producing of the instructions includes populating the second template with the current historical dialogue. The guidance includes that the NLP system must identify one or more words or phrases in the historical dialogue to be candidate topics that may serve to develop the conversation in a manner that supports the user in progressing towards the objective and / or may result in broadening of the user’s knowledge of the world and / may be unrelated but potentially of interest to the user. The instructions specify that the identified words or phrases are to be provided to the conversation topics system 16. The conversation topics system 14 is configured to provide the one or more identified words and / or phrases to the game engine 10 in response. The game engine is configured to cause display of the one or words and / or phrases visually differently in the dialogue to the manner in which other text is displayed and such that the user can select at least one of the identified words and / or phrases. The game engine 10 is configured to communicate with the candidate utterance system 16 to obtain candidate utterances. The candidate utterance system 16 is configured to produce utterance generation instructions based on a third stored template, which includes context information and guidance for content of the candidate topics to be generated. The producing of the instructions includes populating the third template with the current historical dialogue and the utterance generation input data (that is, the topic selected by the user). The NLP system 26 is configured to provide candidate utterances to the game engine 10 in response. After the user has selected a user utterance from the candidate utterances and that user utterance has been added to the dialogue, the conversation system 18 is configured to produce NPC utterance generation instructions based on a fourth stored template, which includes context information and guidance for content of an NPC utterance to be generated. The producing of the instructions includes populating the fourth template with the current historical dialogue. The NLP system 26 is configured to provide the next NPC utterance to the game engine 10 in response. If an NPC internal utterance is to be generated, the conversation system 18 is configured to do this in the same way except with a fifth template populated with different guidance to that in the fourth template. As already mentioned, embodiments may be intended for an environment where an objective exists for the user, for example a gaming environment. The objective may be achieved by dialogue. The guidance may state that the purpose of at least one of the topics may be to aid progression of the user towards the objective and / or may lead to conversations that relate to a broader understanding of the world or scenario. In some embodiments, an objective may be for the developer. For example, an objective may be to advertise a product or service and the guidance may specify that one or more of the candidate utterances should achieve this. The context information may include information on: applicable world or scenario; location information; lore; character information comprising but not limited to the user and the NPC; information on prior events in the world or scene. The world or scenario may include an indication of a particular environment interpretable by the NLP system 26. For example, the environment may be set as Earth in a particular year The lore may add richness to the environment. Embodiments may not include specific indications of world or lore. The context information may include a breakdown of prior events. Such events may not be known to the user. The guidance may specify that the candidate user utterances are not to reveal such prior events. An aspect of the objective may be to find out what one or more of the prior events were. The location information may include information on the location in which the user currently is in the game, location of the or each NPC, or location of any other character or any other location relevant to the game. The guidance may specify that one or more of the candidate topics and / or the candidate utterances should conceivably be something that the user may conceive of given the specified prior events and / or the character information. The guidance may specify that one or more topics may be unrelated to events, characters and / or objective, thus being random and off topic. The guidance may also specify the form in which a response by the NLP system is to be output, for example as a JSON object. Further, the guidance may also specify that the NLP system not to reveal any information not currently known to the user. The character information may be on the user (who may be a fictional character), the or each NPC involved in the dialogue, and / or any other identified characters. The character information may include, but is not limited to, information on any of: a role of the character in the game, education, experiences, family, personality, motivations, values, fears, prior interactions between characters and conversational objectives of the characters. In the second template the guidance may specify a preference for copying words or phrase from one or more characters over others. The guidance may also specify a default number of words and / or phrases to be identified as candidate topics, but also specify that the number of candidate topics provided by the NLP system 26 may be less if the historical dialogue is insufficient, for example because there have been fewer than a predetermined number of turns. The third template may include the same guidance as the first and second templates, except that the natural language processing system 26 is to generate and output candidate utterances suitable for being “stated” by the user, instead of candidate utterance generation input data, and in that one or more of the candidate utterances are to be influenced by the selected utterance generation input data (that is, topic). In the fourth template, the context information may be the same as in the first, second and third templates, but guidance as to the output will, of course, differ. A round of determining a user utterance and an NPC utterance is termed a “turn”. It is to be noted however that the dialogue might not strictly follow turns of an NPC utterance and then a user utterance. The NPC might make more than one utterance, particularly if there is delay in providing a user utterance. A first turn in a session is now described with reference to Figure 3. In the following a specific game is referred to, particularly with reference to Figures 5 to 8 and 10 to 15 in which examples of the GUI are shown. The steps described below are not limited to use with any specific game and the specific game is by way of example only. In the specific game, the user is in the role of a detective, the NPC is a murder suspect, and the objective is to find out details of a murder, that is, the identity, location and method of, and motive for, the murder. A game session begins with no conversation history and generated instructions may be populated with the conversation history being empty. Referring to Figure 3, at step 200, the game engine 10 calls the suggested topics system 12, which at step 202 produces four candidate topics and provides them to the game engine 10. At step 204 the game engine 10 then causes display of a GUI comprising selectable options in the form of the candidate topics, for example as indicated at 32a-d in Figure 5, on the display 22 for the user. The GUI also comprises an option in the form of a selectable emoji navigation object, for example as indicated at 40, for the user to select if the user wants to view emojis to choose a topic from. The user decides between one of the candidate topics 32a-d or to select the selectable object 40. The game engine 10 receives input of user selection of one of the candidate topics 32a-d or the emoji navigation object 40 at step 206. If the game engine 10 receives input of user selection of the emoji navigation object 40, the game engine 10 determines a set of candidate emojis to display from a relatively large number of stored emojis and causes display of the candidate emojis at step 208. The candidate emojis are shown in the GUI overlaid, for example as indicated at 26 in Figure 7, also at step 208. The user then decides on one of the emojis to be used to influence candidate utterance generation, and selects the emoji accordingly. In variant embodiments, multiple emojis maybe selectable by the user and used in generation of candidate utterances (for example by including multiple in the utterance generation instructions). The game engine 10 thus receives input indicative of user selection of the chosen emoji at step 210. At step 212, the game engine 10 then calls the candidate utterance system 16 and provides the character string(s) (or code(s)) associated with the selected emoji(s) to the candidate utterance system 16, which determines three candidate utterances at step 214. The three candidate utterances are determined by providing utterance generation instructions to the natural language processing system 26 including the character string(s) (or code(s)). The natural language processing system 26 then generates candidate utterances where one or more are influenced by the character string (or code(s)), and provides the candidate utterance to the candidate utterance system 16. The system 16 provides the candidate utterances to the game engine 10. The game engine 10 then displays the candidate utterances at step 216, for example as indicated at 28a-c. At step 208, an emoji navigation object 40 is provided leading to subsequent display of candidate emojis if input indicative of user selection of the object 40 is received. This is performed in part due to display size constraints. Alternatively, candidate emojis may be displayed alongside candidate topics, dialogue with visually differentiated words / phrases, etc. Alternatively, if at step 206 the game engine 10 receives input of user selection of one of the candidate topics 22a-d, the game engine 10 then calls the candidate utterance system 16 at step 212 as previously described, except instead of a code, the candidate utterance generation instructions include the selected topic. Embodiments are not limited to the candidate utterance system 16 returning any particular number of candidate utterances. Embodiments are not limited to the suggested topics system 12 returning any particular number of candidate topics. In the specific example, the game is configured to display three candidate utterances, and four candidate topics from the suggested topics system 12. However, alternatively, different numbers greater or less than the stated number may be generated and displayed. After step 216, the user then chooses one of the candidate utterance 28a-c, operates the user input device 24 to provide input of user selection and the game engine 10 receives the input accordingly at step 218. This utterance is to the NPC. At step 220 then game engine 10 thus updates the historical dialogue accordingly. The game engine 10 also calls the conversation system 20, which determines a reply. The conversation system 20 determines the reply by populating its instruction template with the updated historical dialogue and providing this to the NLP system 26, which provides a next utterance to be stated for the NPC. The game engine then updates the historical dialogue. This completes a first turn in the conversation history. Referring to Figure 4, in a second turn the game engine 10 initially determines options for the user and displays them. In this respect, the game engine 10 calls at step 228 the suggested topics system 12, which determines a set of candidate topics in the same manner as at step 202 using the NLP system 26. The game engine 10 causes display of the set of candidate topics on the display 22 at step 230. The game engine 10 also calls at step 232 the conversation topics system 14, which determines a set of candidate topics as selectable words and / or phrases in the historical dialogue 30 using the stored second template. The game engine 10 causes display of these words and / or phrases in the visually differentiated manner on the display 22 at step 234. In the example game these are indicated at 50. The game engine 10 also calls at step 242 the candidate utterance system 18, which determines candidate utterances using the current topic (that is, the topic selected by the user in the previous turn), and receives a set of three new candidate utterances. These are displayed at step 244. Notably, the instructions produced by the candidate utterance system include the same topic as in the previous turn, but updated dialogue. The game engine 10 also causes display of the emoji navigation option 40 at step 238 and the historical dialogue at step 240. It should be understood that steps 228, 232, 238 and 242 need not be carried out in any particular order. The user then chooses one of the options and thus a path for selection of an utterance for adding to the conversation history. The game engine 10 thus receives input of user selection of either one of the paths for user utterance generation, or selection of one of the displayed candidate utterances. If the user selects the emoji navigation option 40 at step 238, steps, 248 and 250 are performed, which are the same as steps 208 and 210. Instead of selecting one of the displayed topics or selecting the emoji display option such that an emoji topic is selected, the game engine 10 enables the user to select text from the historical dialogue for use as a topic. Referring to Figure 9, and also to Figures 10 to 14 which show a specific example, the game engine 10 enables the user to navigate to the historical dialogue, whereupon conversation extract selection is activated at step 300 and a cursor is caused to appear in the historical dialogue. The cursor is in the form of a highlighted word. In the specific example, “keep” is the first word highlighted (indicated in Figure 10). At step 302, input is received from the user input device indicative of movement to a desired anchor word. In the specific example the user scrolls to “They”, as indicated in Figure 11. At step 304, input is received from the user input device 24 to indicate that the highlighted word is to serve as the anchor word. In the specific example, the chosen anchor word is “keep”, indicated as the chosen anchor word by a change of colour (Figure 12). At step 306, input is received to move the cursor forwards or backwards relative to the anchor word, which highlights all words between the anchor word and a last word (Figure 13). At step 308, input is received indicative of the selection of words being complete. The selection of words is then utterance generation input data (that is, a “topic”). In Figure 14, in the specific example the selected words are shown as the current topic. Where the user only wishes to highlight a single word for use as a topic, step 306 is omitted. Figure 14 also shows a set of candidate topics (“find out about the meat”” and “keep it together”) as selectable words and / or phrases in the unsaid dialogue. If a candidate topic is selected, the game engine 10 receives input of user selection of one of the candidate topics 22a-d at the step 130, the steps 112 to 126 are repeated. If the emoji navigation option 40 is selected, steps 108 to 112 are repeated. If, alternatively, the user operates the controller to select a portion of the historical dialogue , the game engine 10 receives inputs from the controller accordingly (step 252). The user may scroll back through the historical dialogue to select any portion thereof, or alternatively the game engine 10 may only enable selection of a portion of the historical dialogue. At step 258, the game engine 10 then calls the candidate utterance system 16, providing the selected portion to the candidate utterance system 16, and receives in response three candidate utterances 28 each influenced by or based on the selected portion. The game engine 10 displays these at step 260. The user selects one of the candidate utterances produced via any of the paths, and the game engine 10 receives inputs accordingly at step 262. The step 120 is then repeated. Alternatively, the user can select to return the start of the steps in Figure 4 to repeat the process of generation of utterances by any one of the paths. In the specific game, the guidance in each template may be for the NLP system to generate candidate utterances that help the user understand who a person relevant to the case is (e.g. the victim is) or where the murder took place or a method of the murder or a motive for the murder, and / or lead to interesting conversations that may fill out a wider story and / or background of the case and / or be remote from the case and without relevance to the case. A breakdown of events may include those that lead to the murder and the details of the murder. The guidance may include description of and / or for the NLP system to generate accurate information relevant to each character may include information on work or life experiences, personality, values, fears and ideals of the character. The background may include example dialogue for that character. In variant embodiments, instead of candidate user utterances being generated, the candidate utterance system 18 may act as an utterance system configured to provide a service to generate a single utterance, which is then stated by the user (that is, added to the dialogue). In other words, the steps of providing candidate utterances and selection of one by the user are omitted. The service may comprise using a template like the template of the candidate utterance system, save that the guidance in the template is that only a single utterance is to be generated by the NLP system. The graphical interface provides the selectable options for selection of candidate topics, the candidate conversation influenced topics, the candidate utterances, the emoji navigation object as options in the GUI. In some embodiments, the options remain in the same positions for the duration of a session (or for every session), enabling the user to learn the locations and helping them to interface rapidly and intuitively. An object containing historical dialogue is also located consistently in the same location in the GUI, and is configured so a user can scroll to bring dialogue within the object. The user input device 24 comprises a directional input device configured to enable the user to navigate between displayed options and for selection. The directional input device may be in the form of, for example a joystick or a gamepad. In some embodiments the directional input device enables navigation between adjacent options and / or selection of an option with a single touch action or a single press action. It will be recognized that other types of user controller, including, but not limited to, non-directional devices such as: a touchpad, rollerball or mouse can be used to enable a user to navigate between and select the options in the GUI; and a microphone enabling voice input, where the dialogue system is configured to receive and transcribe voice input enabling navigation between and selection of options, or enabling a spoken instruction to select an option comprising the read-aloud candidate user utterance or candidate utterance generation input data. A keyboard may also be used for navigation (for example using arrow keys) and selection. The immediacy and definitiveness of a directional input device serves to facilitate the selection speed, whereas some non-directional input device, such as a mouse, must be moved to a particular point or range of points. Moreover, to be sure that range will not be overshot, the mouse must be moved at a slower rate compared to the rate at which a directional device can be moved. Accordingly, for most applications, embodiments of the invention are preferably used with a console device having a directional input. In some embodiments, a non-directional input device, such as a mouse, however, can still be used. A gesture based directional input device or a motion control based input device may also be used in embodiments. Such an input device may comprise, for example, a hand held, or wrist and / or hand mounted, device configured to provide information to the game engine to control navigation and selection. Alternatively, such an input device may comprise a camera of the user interface 20 and the dialogue system may be configured to determine navigation and selection information from video provided by the camera when the user performs predetermined gestures or motions (for example up, down, right light, and select) that can be identified by the dialogue system. Such a camera may also be used to track eye movements, such that gestures in the form of eye movements enable control. Such gesture or motion based directional input devices may also be used in extended reality (e.g. virtual reality environments and / or augmented reality) environments. Notably, directional input devices may enable input in a predetermined number of directions, for example four or eight equally angularly spaced directions, although directional input devices used with embodiments are not limited to such. An input device in the form of a touchscreen may also be used. Although touchscreens may enable use of an on-screen keyboard, such keyboards take up space on the screen and thus their use is undesirable. Also, such keyboards often cannot be used quickly. However, touchscreens enable quick selection of objects in finger touch actions and may be operated by the user to provide inputs in embodiments of the invention, for navigation and selection of objects. The candidate topics and the candidate utterances are preferably displayed on the display as options such that they appear on the display in the same position. It should be appreciated that the process of influencing generation of an utterance may include one or more intermediary stages in which a user can further influence generation of a user utterance. Instead of a selected topic being used to generate candidate utterances, the topic may be used to generate a set of candidate intermediary topics. The user is then presented with these in the GUI to select from. The one or more selected intermediary topic is then used to influence generation of candidate utterances. To implement this stage, the dialogue system may include an intermediary topic system 27 (indicated with dashed lines in Figure 2 to indicate this system’s optional nature) in communication with the natural language processing system and the game engine 10. The intermediary topics system may be configured to provide a service whereby the candidate intermediary topics are provided to the game engine 10 for display by the game engine 10. The service may comprise a template like the first template to generate a instructions including the previously generated topic for the natural language processing system in response to a request from the game engine 10. Inclusion of an intermediary topics system enables further influencing by the user of content of user utterances. More than one intermediary stage may be included. Optionally, at the same time as a user utterance and an NPC utterance is added to the dialogue, the game engine 10 may cause output of the respective utterance via speakers of the user interface 20. As already mentioned, the dialogue system may include additional systems. In embodiments, such an additional system may be in the form of an imposed topic system. In such embodiments, after each NPC utterance, the game engine 10 is configured to provide the NPC utterance to the imposed topic system, which provides a service to influence an appropriate user utterance to be available for adding next to the dialogue. In response, the imposed topic system is configured to determine if the NPC utterance is a question or statement which would typically provoke a direct response in natural conversation. The imposed topic system is configured to return information indicative of the NPC utterance not being such or to return information indicative of the imposed topic. This information may be the exact NPC utterance, a truncation of the NPC utterance or a summary of the NPC utterance, for example. The game engine 10 is configured to replace the current topic with the returned information so that the candidate utterance system then determines candidate utterances using that topic. Referring to Figure 17, where an imposed topic system is included in the dialogue system, in operation the game engine 10 calls at step 500 the imposed topic system after an NPC response has been added to the historical dialogue and before the candidate utterance system has been called. The imposed topic system then determines at step 502 whether the NPC utterance is a question or statement which would typically provoke a direct response in natural conversation. If a result of the determining is that the NPC utterance is such a question or statement, the imposed topic system returns information indicative of the imposed topic at step 506. The game engine 10 then sets at step 508 the returned information as the current topic. At steps 242 in Figure 4, the game engine 10 calls the candidate utterance system 20 with the current topic, which in the topic returned by the imposed topic system rather than the topic selected in the previous turn. The candidate utterance system then determines candidate utterances as described at step 214 in Figure 3. The suitability of the candidate utterances as user utterances is likely to be high. The user may select one of the candidate utterances, or another topic. In some embodiments, the game engine 10 may be configured so that, when a statement or question in determined which would typically provoke a direct response in natural conversation, only one of the candidate utterances can be selected by the user. The imposed topic system is configured to determine whether the NPC utterance is a question or statement which would typically provoke a direct response in natural conversation by providing a question in this respect to the NLP system 26 and receiving a response. Alternatively, the imposed topic system may be configured with a model trained to receive NPC utterances and to generate an output for each received NPC utterance indicative of whether the NPC utterance is such a question or statement. In the above-described embodiments, the instructions provided to the NLP system 26 in determining of candidate user utterances or in determining of utterance generation input data include guidance. Notably, this is not necessarily essential since in an alternative embodiment the NLP system 26 can be trained to implement the guidance so that it need not be provided. For example, the NLP system may be trained on a dataset of instructions that do not include guidance, but where a backpropagation method has been used to train the system to comply with predetermined guidance. For example, where it is wanted for the NLP system 26 to output four candidate utterance generation input data, the NLP system 26 is trained using the backpropagation method based on outputs with four candidate utterance generation input data being correct and those with other numbers of candidate utterance generation input data being incorrect. In the above-described embodiments, the instructions provided to the NLP system 26 in determining of candidate user utterances or in determining of utterance generation input data include context information. This may not be essential; in an alternative embodiment the NLP system 26 can be trained to apply context so that context information need not be provided to it. For example, the NLP system may be trained to provide appropriate responses given particular locations or characters identified in the instructions provided to it (that is, in historical dialogue and / or guidance where candidate utterance generation input data is to be generated, or in historical dialogue and / or guidance and / or utterance generation input data where candidate user utterances are to be generated). In the above-described embodiments, the instructions provided to the NLP system 26 in determining of candidate user utterances or in determining of utterance generation input data include the historical dialogue or a recent portion thereof. This may not be essential; in an alternative embodiment the NLP system 26 can be trained using past dialogue between the user and the NPC and / or using dialogue between other users and NPCs, to influence the generation of candidate utterance generation input data and / or candidate user utterances. The instructions provided to the NLP system 26 by each of the systems 12, 14, 16 may include one or more of: context information, at least some of the historical dialogue and guidance, as described above. In variant embodiments, the instructions provided to the NLP system 26 include additional information, which may be dynamic information. Dynamic information is, like historical dialogue, typically unique to the particular game session. For example, the game engine 10 may include an inventory system enabling storing, viewing and using of virtual objects (typically items) collected by the user during game play. In this case the dynamic information may include inventory information identifying such objects and optionally objects that were stored but no longer are. By way of other example, the game engine 10 may enable creating and / or storing of information such as notes or images (for example on a scratchpad). Such information may be automatically created and / or stored by the game engine 10 and / or created by the user. Where automatically generated, the information may be a memory aid, such as to remind the user of permanent information, for example that “Suspect said they were vegetarian”. The dynamic information may include such information. Additionally or alternatively, the dynamic information may include an audio note created by the user or a transcription thereof. The additional information is not limited to being of any particular type, provided it is such as to potentially influence the candidate topics and / or the candidate utterances generated by the NLP system 26. In the above, a portion of the historical dialogue is selectable and may be used as utterance generation input data. Embodiments are not limited to this, in that in other embodiments objects or other text viewable on the display by the user may be selectable for use as utterance generation input data. For example, objects in the inventory system may be accessible and selectable. Further, where the the game engine 10 enables creating and / or storing of information such as notes, images and / or audio note or transcriptions thereof (automatically and / or by the user), these may be selected by the user for use as utterance generation input data. In some embodiments the game engine 10 may enable the user to select a word or phrase using the same method by which a portion of the historical dialogue may be selected. Additionally or alternatively, in some embodiments, the game engine 10 may be configured so that one or more images or a portion of notes or a portion of a transcription are made selectable and visually distinguished, in the same way that text in the historical dialogue is automatically made selectable and visually distinguished. Herein the following the terms “including”, “include”, “in particular”, “for example” or any similar expression shall be interpreted as illustrative and shall not limit the sense of the words preceding those terms. Figure 16 illustrates an exemplary computing device 200 on which the game engine 10 and the systems 12, 14, 16, 18 may run. The computing device 200 may be any type of electronic device, such as, without limitation, a mobile computing device, a smart phone, a console, a server, a distributed computing system, a multiprocessor system, or a combination thereof. An operating environment thereof may be configured in a network environment, a distributed environment, a multi-processor environment, or a stand-alone computing device having access to remote or local storage. The computing device 200 may include one or more processors 202, one or more communication interfaces 204, one or more storage device 206, one or more input / output devices 208 and one or more memory devices 210. The or each processor may be any commercially available or customised processor and may include a multiprocessor architecture. The or each communications interface 204 facilitates wired or wireless communications between the computing device 200 and other devices. The or each storage device 206 may be a computer-readable medium such as, without limitation, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape and magnetic disk storage. The input / output devices 208 may include a keyboard, a mouse, a pen, a voice input device, a touch input device, a display, speakers; the input / output devices 208 may in some embodiments comprise a directional input device as described above. The or each memory device 410 may contain instructions, components and data. A component is a software program that performs a specific function and is otherwise known as a module, program, component and / or application. The memory device may include an operating system and computer programs comprising code executable by the one or more processors to run the game engine 10 and systems 12, 14, 16, 18 and thereby to cause performance of the steps described herein. The computing device 400 may be communicatively coupled via a network such as the internet. Although the game engine 10 and the systems 12, 14, 16, 18 are described as software, they may be implemented as hardware or a combination of hardware and software. The NLP system 26 may be implemented on comparable hardware to the computing device 200, communicatively coupled to the computing device 200, for example via the internet. The NLP system 26 and the dialogue system may be implemented on the same computing device. The applicant hereby discloses in isolation each individual feature or step described herein 5 and any combination of two or more such features, to the extent that such features or steps or combinations of features and / or steps are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or steps or combinations of features and / or steps solve any problems disclosed herein, and without limitation to the scope of the 10 claims. The applicant indicates that aspects of the present invention may consist of any such individual feature or step or combination of features and / or steps. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention. 15
Claims
1. A computer-implemented method of influencing user utterances in a dialogue, comprising:providing a graphical user interface enabling selection, by a user using a user input device, of at least one of a plurality of selectable candidate utterance generation input data;receiving from the user input device information indicative of selected at least one of the candidate utterance generation input data;determining, influenced by the selected utterance generation input data, an utterance or a plurality of candidate utterances for the user to select one from using the user input device, for adding to the dialogue.
2. The method of claim 1, further comprising:causing display on the graphical user interface of the candidate utterances wherein selection of each is enabled;receiving from the user input device information indicative of selection of one of the candidate utterances;adding the selected utterance to the dialogue.
3. The method of claim 1 or claim 2, wherein the determining the utterance, or the plurality of candidate utterances, comprises:generating instructions for a natural language processing system, the instructions comprising:information indicative of the selected at least one utterance generation input data;optionally context information;optionally historical dialogue; andoptionally guidance for content of the candidate user utterances to be generated in view of the utterance generation input data, optionally the context information if the instructions comprises context information and optionally the historical dialogue if the instructions comprises the historical dialogue;providing the instructions to the natural language processing system and obtaining the candidate utterances in response.
4. The method of claim 3 when dependent on claim 2, further comprising:after the adding of the selected utterance to the dialogue, determining a non-player character (NPC) utterance and adding that to the dialogue;determining a plurality of further candidate utterances, comprising:generating further instructions for the natural language processing system, the instructions comprising:the utterance generation input data selected in a preceding one of the turns;the non-player character utterance and optionally more or all of the historical dialogue;optionally the context information; andoptionally guidance for content of the candidate user utterances to be generated in view of the utterance generation input data selected in a preceding turn, the non-player character utterance, the more or all of the historical dialogue if the instructions comprise such dialogue, and / or the context information if the instructions comprise the context information;providing the further instructions to the natural language processing system and obtaining the further candidate utterances in response;enabling selection on the graphical user interface, by the user using the user input device, of the further candidate user utterances.
5. The method of claim 4, further comprising:after the adding to the dialogue of the NPC utterance and before the generating of the further instructions, determining if the NPC utterance would typically provoke a direct response in natural conversation;depending on a result of the determining being that the NPC would typically result in a direct response, determining candidate utterance generation input data indicative of topic imposed by the NPC utterance and using this candidate utterance generation input data in the further instructions in place of the utterance generation input data selected in the preceding of the turns.
6. The method of any one of the preceding claims, wherein at least two of the candidate utterance generation input data are generated using different paths.
7. The method of any one of the preceding claims, further comprising determining one or more of the candidate utterance generation input data before enabling selection.
8. The method of claim 7, wherein the determining at least one of the candidate utterance generation input data comprises:generating instructions for a natural language processing system, the instructions comprising at least one of:context information;historical dialogue; andguidance for content of the candidate utterance generation input data to be generated, optionally in view of at least context information if the instructions comprise context information and / or the historical dialogue if the instructions comprise the historical dialogue;providing the instructions to the natural language processing system and obtaining the one or more candidate utterance generation input data in response.
9. The method of claim 7, wherein the guidance specifies that, if in the historical dialogue an utterance since a last user utterance (if any) is a question, one or more of the candidate utterances must address the question.
10. The method of claim 9 or claim 8, wherein the at least one of the candidate utterance generation input data comprises:determining one or more graphics from a plurality of stored graphics each indicative of topics;wherein the enabling selection of one of a plurality of candidate utterance generation input data comprises enabling selection of at least one of the determined graphics, and wherein, if one of the graphics is selected, the determining of the plurality of candidate utterances is influenced by the selected graphic.
11. The method of claim 10, wherein each of the graphics has an associated stored character string, wherein the determining the one or more candidate utterance generation input data also comprises determining the character string associated with the one or more selected graphics, wherein the determining of a plurality of candidate utterances for the user to select one from is influenced by the one or more character strings.
12. The method of any one of the preceding claims, wherein the determining at least one of the candidate utterance generation input data comprises:determining a word or uninterrupted sequence of words in the historical dialogue to be candidate utterance generation input data, wherein the providing a graphical userinterface enabling selection comprises displaying the word or uninterrupted sequence of words visually differently to other words in the historical dialogue.
13. The method of claim 12, wherein the determining of the word or uninterrupted sequence of words comprises:generating instructions for a natural language processing system, the instructions comprising at least:the historical dialogue; andguidance as to selection of a word or words from the historical dialogue;providing the instructions to the natural language processing system and obtaining information indicative of the the word or uninterrupted sequence of words in response.
14. The method of any one of the preceding claims, wherein in the graphical user interface the historical dialogue can be viewed by the user and a word or an uninterrupted sequence of words in the historical dialogue is selectable, wherein the determining at least one of the candidate utterance generation input data comprises:receiving inputs from the user input device indicative of selection of a word or an uninterrupted sequence of words;determining, influenced by the selected word or sequence of words, a plurality of candidate utterances for the user to select one from, for adding to the dialogue.
15. The method of any one of the preceding claims, wherein at least two of the candidate utterance generation input data are generated using the same path.
16. The method of any one of the preceding claims, wherein the graphical user interface is configured to enable selection of one of the candidate utterance generation input data and of one of the candidate user utterances using a user input device, wherein the user interface is at least one of: a focus-based navigation interface; an extended reality graphical user interface, wherein the user input device is for navigation and selection in an extended reality environment; a non-pointer based navigation interface; a gesture based interface.
17. A computer-implemented method of influencing user utterances in a dialogue, comprising:providing a graphical user interface displaying a set of graphics and enabling selection of at least one;receiving from a user input device information indicative of the selected at least one graphic;determining, influenced by the selected at least one graphic, a plurality of candidate utterances for the user to select one from, for adding to the dialogue.
18. The method of claim 17, further comprising, before displaying of the set of graphics, determining of the set of graphics from a plurality of stored graphics.
19. The method of claim 17 of claim 18, wherein each of the graphics has an associated stored, unique character string, the method comprising, before determining the plurality of candidate utterances determining the character string for the selected graphic, wherein the determining of the plurality of candidate utterances is influenced by the character string.
20. The method of any one of claims 17 to 19, further comprising:causing display of the candidate utterances wherein selection of each is enabled;receiving from the user input device information indicative of selection of one of the candidate utterances;adding the selected utterance to the dialogue.
21. The method of any one of claims 17 to 20, wherein the determining the plurality of candidate utterances, comprises:generating instructions for a natural language processing system, the instructions comprising:the selected at least one graphic and / or character string uniquely associated with the graphic;optionally context information;optionally historical dialogue;optionally guidance for content of the candidate user utterances to be generated in view of the at least one graphic and / or character string, context information if the instructions include the context information, and the historical dialogue if the instructions include the historical dialogue;providing the instructions to the natural language processing system and obtaining the candidate utterances in response.
22. The method of any one of claims 17 to 21, wherein each of the unique character strings is in accordance with a standard.
23. The method of any one of claims 17 to 22, wherein the graphic is an emoji.
24. A computer-implemented method comprising:providing a graphical user interface enabling a user to view historical dialogue in a dialogue system and select a word or uninterrupted sequence of words in the historical dialogue;receiving inputs from a user input device indicative of user selection of a word or uninterrupted sequence of words in the historical dialogue:determining, influenced by the selected word or sequence of words, an utterance or a plurality of candidate utterances for the user to select one from, for adding to the dialogue.
25. The method of claim 24, wherein the inputs indicative of user selection comprise inputs:navigating to an anchor word;selecting the anchor word;navigating to an end word;selecting the end word.
26. A computer-implemented method of influencing user utterances in a dialogue, comprising:providing a graphical user interface enabling a user to view historical dialogue in the dialogue system;determining at least one word or uninterrupted sequence of words in the historical dialogue as suitable for use in influencing utterance generation and rendering the at least one word or sequence of words as selectable;determining, influenced by the determined word or sequence of words, an utterance or a plurality of candidate utterances for the user to select one from, for adding to dialogue.
27. The method of claim 26, further comprising:displaying the determined word or sequence of words visually differently to other words in the historical dialogue; andreceiving inputs from a user input device indicative of user selection of the word or uninterrupted sequence of words in the historical dialogue:
28. The method of any one of claims 24 to 27, further comprising:causing display of the candidate utterances wherein selection of each is enabled;receiving from the user input device information indicative of selection of one of the candidate utterances;adding the selected utterance to the dialogue.
29. The method of any one of claims 25 to 28, wherein the determining of the at least one word or uninterrupted sequence of words comprises:generating instructions including the historical dialogue and guidance for determining words to a natural language processing system;providing the instructions to the natural language processing system and obtaining information indicative of the at least one word or uninterrupted sequence of words in response.
30. The method of any one of claims 25 to 29, wherein the determining the plurality of candidate utterances, comprises:generating further instructions for a natural language processing system, the further instructions comprising:the selected word or sequence of words:optionally context information;optionally historical dialogue;optionally guidance for content of the candidate user utterances to be generated in view of the selected word or sequence of words, the context information if the instructions comprise the context information, and the historical dialogue if the instructions comprise the historical dialogue;providing the instructions to the natural language processing system and obtaining the candidate utterances in response.
31. A computer-implemented method of influencing user utterances in a dialogue, comprising:providing a graphical user interface enabling selection of one of a plurality of candidate utterance generation input data each determined using a different path;receiving from a user input device information indicative of the selection;determining, influenced by the selected utterance generation input data, a user utterance or plurality of candidate utterances for the user to select one from, for adding to the dialogue.
32. A computer-implemented method of influencing user utterances in a dialogue, comprising:determining, influenced by utterance generation input data, a plurality of candidate utterances for the user to select one from;providing a graphical user interface enabling selection of one of the plurality of candidate utterances;receiving from a user input device information indicative of the selection; and adding the selected utterance to the dialogue.
33. The method of claim 32, wherein the determining comprises:generating instructions for a natural language processing system, the instructions comprising the utterance generation input data and guidance for content of the plurality of candidate utterances;providing the instructions to the natural language processing system and obtaining a response comprising the plurality of candidate utterances.
34. Apparatus comprising:a processor;a memory storing a computer program comprising computer program instructions, wherein the processor and memory are configured so that the processor can execute the instructions to perform the methods of any one of the preceding claims.
35. A computer program product comprising computer program instructions stored on a memory which, when executed on a processor, causes the processor to perform the steps of any one of claims 1 to 33.
36. The method of any one of claims 1 to 33, the apparatus of claim 34, or computer program product of claim 35, wherein the user input device comprises a directional input device or a touchscreen configured for navigation between the utterance generation input data and / or between candidate utterances, and selection thereof, wherein the input device is configured, where the user input device is a directional input device, to enable navigation between adjacent options by a single touch or press action on the input device or a single gesture, or where the user input device is a touchscreen, to enable selection in a single press action.