evaluate_alt.py: the alternative version of evaluation script, which borrows ideas of evaluate.py for calculating IOU. Its main functions include:
Load both prediction results run by RFB and gold-standard csv data, and return them as the same format -- {GUID: frame_num: (role, filler)} so that it's convenient for calculating IOU
The Intersection Over Union (IOU) evaluation metric, but missed the Dice-Sorensen Coefficient (DSC) for now.
The utility of writing out results.txt
Edge cases
All edge cases suffered now are from csv string (i.e. annotations part), and they're
NaN value: this missing value occurs in either role or filler fields. -> Solution: replace this missing value as the string 'nan' while loading prediction results, but drop such row having it in loading gold results
Address, Name, Company's name including comma: this confused how to successfully split role and filler fields from a csv string based on the rule of exporting gold data csv in process.py -> Solution: use str.split(',', maxsplit=2) to force the string is split into three fields: ('', role, filler)
Discussion
In particular, I implemented a function get_aligned_ann_of for supporting find aligned annotation based on a "source" annotation cross views. Appreciate any feedback.
This PR aims to target issue #51
Implementations
evaluate_alt.py
: the alternative version of evaluation script, which borrows ideas ofevaluate.py
for calculating IOU. Its main functions include:{GUID: frame_num: (role, filler)}
so that it's convenient for calculating IOUresults.txt
Edge cases
All edge cases suffered now are from csv string (i.e. annotations part), and they're
role
orfiller
fields. -> Solution: replace this missing value as the string 'nan' while loading prediction results, but drop such row having it in loading gold resultsrole
andfiller
fields from a csv string based on the rule of exporting gold data csv inprocess.py
-> Solution: usestr.split(',', maxsplit=2)
to force the string is split into three fields:('', role, filler)
Discussion
get_aligned_ann_of
for supporting find aligned annotation based on a "source" annotation cross views. Appreciate any feedback.