diff options
Diffstat (limited to 'src/argaze/GazeAnalysis/NGram.py')
-rw-r--r-- | src/argaze/GazeAnalysis/NGram.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/argaze/GazeAnalysis/NGram.py b/src/argaze/GazeAnalysis/NGram.py index f3f0cca..1ae8a07 100644 --- a/src/argaze/GazeAnalysis/NGram.py +++ b/src/argaze/GazeAnalysis/NGram.py @@ -20,19 +20,31 @@ from argaze import GazeFeatures @dataclass class AOIScanPathAnalyzer(GazeFeatures.AOIScanPathAnalyzer): + """ + Parameters: + n: lenght of grams to search. + """ + + n: int = field(default=2) def __post_init__(self): - pass + self.__ngrams_count = {} - def analyze(self, aoi_scan_path: GazeFeatures.AOIScanPathType, n: int) -> dict: + def analyze(self, aoi_scan_path: GazeFeatures.AOIScanPathType): """Analyze aoi scan path.""" assert(len(aoi_scan_path) > 1) sequence = str(aoi_scan_path) - ngrams = zip(*[sequence[i:] for i in range(n)]) + ngrams = zip(*[sequence[i:] for i in range(self.n)]) ngrams = [ngram for ngram in ngrams] - return {tuple([aoi_scan_path.get_letter_aoi(l) for l in ngram]) : ngrams.count(ngram) for ngram in ngrams} + self.__ngrams_count = {tuple([aoi_scan_path.get_letter_aoi(l) for l in ngram]) : ngrams.count(ngram) for ngram in ngrams} + + @property + def ngrams_count(self) -> dict: + + return self.__ngrams_count +
\ No newline at end of file |