5 Apr 2011 (updated 5 Apr 2011 at 23:14 UTC)
»
Working on new language production software for talk for:
Worldcomp
2011
Using metaphor of a spreadsheet metaphor [3]. The active
matrix can be equated to a column in a spreadsheet while
future potential matrices
can be seen as additional columns. Each component that is
part of the communication
can be represented as a cell in the column. The active
matrix is updated in response
to a match between input with potential matrices.
The software system is broken down into modules to handle
aspects of the task. Mod-
ules will process the submitted cues and send out requests
for matches. Each possible
match will be returned by a module and kept in a buffer
until the stopclock tics down.
Better matches will continue to be sent to the buffer until
the timer runs down. Once
the timer runs down, a kill message will be sent to all
remaining modules to stop the
searching. Each possible match that reaches the buffer will
be compared by quality
with the previous match of this series. The better match
will be retained while the
other will be discarded. After the timer runs out the
successful match will be moved
to the top of the queue for subsequent searches.
A psuedocode version is:
process input from user interface (1)
begin timer stopwatch based on active column value (2)
perform search on 1st column in queue (3)
until at least one element matches
continue search for additional matches
return success if at least one match occurred
repeat search on succeeding columns until out (4)
of columns or timer runs down
When timer runs out (5)
if at least one successful column was returned, make it
active
if no successful column returned, do not change active
if active was changed return sentence (6)
prepare to process new input (1)