Skip to content

Conversation

@FrenchKrab
Copy link

This PR adds a variant of the DiarizationErrorRate that splits every error component in two: overlapped and non-overlapped.

For example, der['false alarm'] == ovlder['ovl false alarm'] + ovlder['nonovl false alarm'].

This allows better diagnosis of where diarization errors are coming from. Might be useful since overlapped speech is very tricky :)


The code for the metric should be done (and seems to work well, even with different collar sizes according to the tests). I still need to add code for plotting this metric.

)
comps_ovl = self.der_ovl.compute_components(
reference, hypothesis, uem=ovl_regions
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand the logic here.

compute_components can actually lead to different mapping whether we focus on overlap or non overlap regions (because they have their own internal call to optimal_mapping). There is no garantee that this is the same mapping.

Or did I miss something?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, that's correct ... it was supposed to be an IdentificationErrorRate. But the tests passed because there was no overlap in the hypothesis. I think now it should be correct.

Fixed it with the last two commits.

(the test passed with an incorrect metric because the hypothesis contained no overlap)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants