Skip to content

LTA Damerau-Levenshtein distance implementationΒ #35

@erfanshayegani

Description

@erfanshayegani

Hi, thanks for this great effort!

For the LTA evaluation, in your implementation, "ego4d_forecasting/evaluation/lta_metrics.py", in the edit_distance function, you have used the editdistance python module. From my experiments, this module does not implement the "Damerau-Levenshtein distance", since it does NOT allow the "transposition of adjacent elements".

For example:

editdistance.eval(['spam', 'egg', 'hamburger'], 
                              ['spam', 'hamburger', 'egg'])

returns 2, but the answer should be 1 since we can transpose 'egg' with 'hamburger' according to Damerau-Levenshtein distance.

On the other hand, in the Ego4D paper, it is written:

(Page 74 - J.4) The allowed operations to compute the edit distance
are insertions, deletions, substitutions and transpositions of
any two predicted actions.

So does it mean that any two elements can be transposed with a cost of 1? Then this contradicts the "Damerau-Levenshtein distance" that allows only "adjacent element transpositions".

I'd really appreciate it if you could clarify this!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions