change extraction output format

change it to a dict with record as key and a nested map (mapping from
seed element to target element). this way we know know which data
are extracted from which records, even some data are not existed
for all the records.