Processing Open Text Input in a Scripted Communication Scenario
MetadataShow full item record
In this paper we describe a method which uses only local data available in a scripted scenario to match a player input to a player statement option. A scripted scenario is a sequence of steps in a conversation with a virtual character. At each step a virtual character talks to the player and provides one or more statement options. A virtual character reacts to a statement option with an emotional reaction and the conversation continues to a next step until an end step is reached. In our method we use the emotional reaction of a virtual character to create a scenario speci?c corpus. We create a scenario speci?c corpus by calculating and combining emotion vectors for a stem of a word in a response and dividing it by the total amount of occurrences of a stem of a word in a scenario, creating a scenario speci?c word vector. An emotion vector is a unit vector with a value for at the index of an reactional emotion. The words in our method are stemmed with an algorithmic stemmer. By utilizing a scenario speci?c corpus, we calculate a statement vector by combining and averaging word vectors for each word in a player input statement for a step in a scenario. We also calculate a statement vector for each player statement option for that step. We compare each player statement option vector with a player input statement by calculating a cosine similarity score.The highest cosine similarity score of a player statement option vector and a player input statement is considered as an possible match. The considered player statement option is then compared with the Differential Angle method. The Differential Angle method not only compares a player statement option with a player input statement, but also compares an emotion vector of a player statement option with a calculated vector of an option. If the angle between an emotion vector and a calculated vector is too large, the emotion vector is used for comparison. The Differential Angle method also considers if the player statement option is a possible match or that the best player statement option is not good enough to be a match and that there is no match for a player statement option. In comparison to ReaderBench, our method performs better if there is an option that matches a player input statement.