Natural language dialog system for computer program interaction
A video game system provides dialog responses based on a natural language model (NLM). The NLM is a language model that receives a language input, such as a dialog selection, audio recording, or natural language text input provided by a user of the video game system. In response to the language input, and based on a corpus of natural language candidate lines, the NLM identifies one or more potential responses. The video game system selects a final response from the identified potential responses and provides the selected response to the user via, for example, one or more display frames or via an audio output.
1. A method comprising:
based on a language input received from a computer program, determining a first response with a natural language model from a plurality of stored candidates and selecting a first candidate of the plurality of stored candidates based on the first candidate being unused within a defined number of previous responses used in the computer program; and
providing the first response to a user via the computer program.
2. The method of claim 1 , wherein determining the first response comprises:
determining, with the natural language model, a match probability between the language input and a first candidate of a plurality of stored candidates, each candidate corresponding to a potential response; and
determining the first response based on the first candidate.
3. The method of claim 2 , wherein determining the match probability comprises determining the match probability based on the language input and a specified constraint for the plurality of stored candidates.
4. The method of claim 3 , wherein determining the match probability comprises:
determining a ranked list of the plurality of stored candidates based on the natural language model and the language input; and
selecting the first candidate from the ranked list based on the specified constraint.
5. The method of claim 2 , wherein the computer program comprises a video game, and wherein determining the match probability comprises determining the match probability based on a game state of the video game.
6. The method of claim 2 , wherein determining the match probability comprises determining the match probability based on a previous response identified based on the natural language model.
7. The method of claim 1 , further comprising determining the language input based on an audio input to the computer program.
8. The method of claim 1 , further comprising determining the language input based on a user dialog selection provided to the computer program.
9. A method, comprising:
receiving a language input from a computer program;
determining, based on a natural language model, a ranked list of a plurality of candidates associated with a corresponding plurality of natural language responses; and
providing a selected response based on the ranked list via the computer program, based on the selected response being unused within a defined number of previous responses used in the computer program.
10. The method of claim 9 , wherein determining the ranked list comprises:
determining, with the natural language model, a match probability with the language input for each of the plurality of candidates; and
determining the ranked list based on each determined match probability.
11. The method of claim 10 , wherein determining the match probability comprises determining a semantic similarity probability.
12. The method of claim 9 , wherein the language input is a natural language input.
13. A non-transitory computer readable medium embodying a set of executable instructions, the set of executable instructions to manipulate a processor to:
based on a language input received from a computer program, determine a first response with a natural language model based on a first candidate of a plurality of stored candidates, wherein the first candidate is selected based on the first candidate being unused within a defined number of previous responses used in the computer program; and
provide the first response to a user via the computer program.
14. The computer readable medium of claim 13 , wherein the instructions to determine the first response comprise instructions to:
determine, with the natural language model, a match probability between the language input and the first candidate of the plurality of stored candidates.
15. The computer readable medium of claim 14 , wherein the instructions to determine the match probability comprise instructions to determine the match probability based on the language input and a specified constraint for the plurality of stored candidates.
16. The computer readable medium of claim 15 , wherein the instructions to determine the match probability comprise instructions to:
determine a ranked list of the plurality of stored candidates based on the natural language model and the language input; and
select the first candidate from the ranked list based on the specified constraint.
17. The computer readable medium of claim 15 , wherein the computer program comprises a video game, and wherein the instructions to determine the match probability comprise instructions to determine the match probability based on a game state of the video game.
18. The computer readable medium of claim 14 , wherein the instructions to determine the match probability comprise instructions to determine the match probability based on a previous response identified based on the natural language model.
19. The computer readable medium of claim 13 , wherein the set of executable instructions include instructions to determine the language input based on an audio input to the computer program.
20. The computer readable medium claim 13 , wherein the set of executable instructions include instructions to determine the language input based on a user dialog selection provided to the computer program.