| Summary: | simonmodeltest does hot handle deletion errors correctly | ||
|---|---|---|---|
| Product: | [Unmaintained] simon | Reporter: | Peter Grasch <me> |
| Component: | general | Assignee: | Peter Grasch <me> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | http://commits.kde.org/simon/f4cde5200e81623a814d99f2e064db3fde02bc5c | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Peter Grasch
2012-11-14 16:06:19 UTC
Git commit f4cde5200e81623a814d99f2e064db3fde02bc5c by Peter Grasch.
Committed on 14/11/2012 at 17:23.
Pushed by grasch into branch 'master'.
Bugfixing the calculation of deletion errors
Deletion errors are internally represented as notes that carry the label
of the word that is not present in the result and have the "deletion"
flag set.
While analyzing the a recognition result (in simonmodeltest) these
leaves were inserted at the end of the list of result nodes of the test
sample while processing it. This caused the algorithm to count them
again - this time as insertion errors - when it encountered the new,
trailing nodes.
Example:
Prompt: Foo Bar
Result: Bar
Algorithm:
0. Nodes: {Bar}
1. i = 0; Foo is missing, Bar is okay -> Nodes: {Bar[Okay], Foo[Deletion]}
2. i = 1; Foo at the end is too much -> Nodes {Bar[Okay], Foo[Insertion,
Deletion]}
2. i = 2; Done
After the fix:
0. Nodes: {Bar}
1. i = 0; Foo is missing, Bar is okay -> Nodes: {Foo[Deletion], Bar[Okay]}
i = 2
2. i = 2; Done
M +6 -3 simonlib/simonmodeltest/testresult.cpp
M +1 -1 simonlib/simonmodeltest/testresult.h
http://commits.kde.org/simon/f4cde5200e81623a814d99f2e064db3fde02bc5c
|