dc.description.abstract | 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. | |