Bonjour,
il serait tres utile d'avoir un WARNING dans Advene indiquant que l'on a un doublon (temporel) d'annotation sur une meme ligne, par exemple au moment d'enregistrer son package.
En effet on ne voit pas visuellement ces doublons sur la ligne de temps, et il peuvent ensuite fausser le calcul automatique de statistiques (type rappel/precision) lorsque l'on utilise ces annotations comme verite terrain (ca vient de m'arriver a 2 jours d'une dead-line d'article !!!
)
Il suffirait de proposer lors du WARNING de supprimer automatiquement ces doublons (ou non).
Mathieu
PS: hyper facile de reperer les doublons avec un dictionnaire (cf code ci-dessous)
# coding: utf-8
import sys, os
import xml.dom.ext
from xml.dom.ext.reader.Sax import FromXmlFile
afile = sys.argv[1]
# parse ground-truth file (in Advene .xml format)
xmltree = FromXmlFile(afile)
annotations = [elem for elem in xmltree.getElementsByTagName("annotation")]
segmap = {}
for a in annotations:
gtsegs = [elem for elem in a.getElementsByTagName("millisecond-fragment")]
for gtseg in gtsegs:
begin = gtseg.getAttribute('begin')
end = gtseg.getAttribute('end')
if begin+'_'+end not in segmap:
segmap[begin+'_'+end] = 1
else:
print "%s -> id=%s" % (afile, a.getAttribute('id'))