Skip to content

TypeError: 'float' object is not subscriptable in crowdtruth.run(data, config) #7

Open
@erynrigley

Description

@erynrigley

I am running on a Python 3 Jupyter notebook. I am able to configure my data no problem, however when I run 'crowdtruth.run(data, config)', I receive the following error and can't workout why:


TypeError Traceback (most recent call last)
Cell In[20], line 1
----> 1 results = crowdtruth.run(data, config)

File ~/anaconda3/lib/python3.11/site-packages/crowdtruth/run.py:10, in run(data, config)
7 def run(data, config):
8 """Run the CrowdTruth metrics with the given processing configuration"""
---> 10 processed_results = Metrics.run(data, config)
11 return processed_results

File ~/anaconda3/lib/python3.11/site-packages/crowdtruth/models/metrics.py:520, in Metrics.run(results, config, max_delta)
516 return new_unit_ann_dict
518 if not config.open_ended_task:
519 # compute annotation quality score (aqs)
--> 520 aqs_new, max_delta, avg_aqs_delta = compute_aqs(aqs, work_unit_ann_dict,
521 uqs_list, wqs_list, aqs_list, aqs_len, max_delta, avg_aqs_delta)
523 # compute unit quality score (uqs)
524 uqs_new, max_delta, avg_uqs_delta = compute_uqs(uqs_new, unit_work_ann_dict,
525 wqs_list, aqs_list, uqs_list, uqs_len, max_delta, avg_uqs_delta)

File ~/anaconda3/lib/python3.11/site-packages/crowdtruth/models/metrics.py:482, in Metrics.run..compute_aqs(aqs, work_unit_ann_dict, uqs_list, wqs_list, aqs_list, aqs_len, max_delta, avg_aqs_delta)
480 def compute_aqs(aqs, work_unit_ann_dict, uqs_list, wqs_list, aqs_list, aqs_len, max_delta, avg_aqs_delta):
481 """ compute annotation quality score (aqs) """
--> 482 aqs_new = Metrics.annotation_quality_score(list(aqs.keys()), work_unit_ann_dict,
483 uqs_list[len(uqs_list) - 1],
484 wqs_list[len(wqs_list) - 1])
485 for ann, _ in aqs_new.items():
486 max_delta = max(max_delta, abs(aqs_new[ann] - aqs_list[len(aqs_list) - 1][ann]))

File ~/anaconda3/lib/python3.11/site-packages/crowdtruth/models/metrics.py:351, in Metrics.annotation_quality_score(annotations, work_unit_ann_dict, uqs, wqs)
348 numerator = 0.0
349 denominator = 0.0
--> 351 numerator, denominator = Metrics.compute_ann_quality_factors(numerator,
352 denominator, work_unit_ann_dict_worker_i,
353 work_unit_ann_dict_worker_j, ann, uqs)
355 if denominator > 0:
356 aqs_numerator[ann] += wqs[worker_i] * wqs[worker_j] *
357 numerator / denominator

File ~/anaconda3/lib/python3.11/site-packages/crowdtruth/models/metrics.py:256, in Metrics.compute_ann_quality_factors(numerator, denominator, work_unit_ann_dict_worker_i, work_unit_ann_dict_worker_j, ann, uqs)
253 if unit_id in work_unit_ann_dict_worker_j:
254 work_unit_ann_dict_work_j_unit = work_unit_ann_dict_worker_j[unit_id]
--> 256 work_unit_ann_dict_wj_unit_ann = work_unit_ann_dict_work_j_unit[ann]
258 def compute_numerator_aqs(unit_id_ann_value, worker_i_ann_value,
259 worker_j_ann_value):
260 """ compute numerator """

TypeError: 'float' object is not subscriptable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions