Closed jeremymanning closed 6 years ago
To implement this, we could have a new parsing function/class (NaturalisticStimuli
). Sketch below:
class NaturalisticStimuli(object):
Data object that converts text data from a dynamic stimulus (like a movie) and recall event (like verbal recall) into feature vectors that can be passed to the Egg class for analysis
Parameters
------------
stimulus : list
A list of text samples describing events within a stimulus
recall : list
A list of text samples from from a recall event, such as sentences that verbally describe some
stimulus
n_features : int
Number of text features used in vectorized representation of text samples (default: 1000)
n_topics : int
Number of topics used to model the text data (default: 100)
stimulus_overlap : int
Size of overlap in text samples used to fit topic model of stimulus (default: 50)
recall_overlap : int
Size of overlap in text samples used to transform recall samples (default: 5)
vectorizer_params : dict
Dictionary of parameters used to generate the vectorized representation of text
samples for finer control (optional)
topic_params : dict
Dictionary of parameters used to generate topic model of stimulus for finer control (optional)
cc: @jeremymanning
related to this:
To match up presentations and recalls, we could modify Egg
s as follows:
match_mode='exact'
: require an exact match between presentation and recall stimuli (i.e. all feature values have to match)match_mode='bestfit'
: assume all recalls are “correct” and assign each recall to the presentation event whose features are best correlated with the recall featuresmatch_mode='smooth'
: assume all recalls reflect, in part, every presentation event (and compute weighted averages to do the analyses)it’d be nice to be able to do this both for word lists and for naturalistic stimuli
quail is currently optimized for list-learning experiments. however, the same general framework could be applied to continuous experiments, like movie viewing/recall, social interactions, etc. for example:
the existing behavioral summaries (serial position curves, pnr curves, lag-CRPs, memory fingerprints) could be extended to work with continuous data by making the x-axis of these plots reflect time rather than stimulus number (or relative stimulus number).