in src/models/struxgpt_v2.py [0:0]
def downgrade_to_aspect(self, keep_subaspects=False, sent_off=0) -> Tuple["AspectItem", int]:
first_aspect, last_aspect = self.aspects[0], self.aspects[-1]
first_sent, last_sent = first_aspect.sent_range[0], last_aspect.sent_range[1]
super_aspect = {
'name': self.scope,
'sent_range': [first_sent+sent_off, last_sent+sent_off],
'subaspects': [],
'chunks': StruXGPT.remapping_sentence(self.raw_query)
}
if keep_subaspects:
super_aspect['subaspects'] = [
AspectItem.offset_sent_range(aspect.to_json(), offset=sent_off) \
for aspect in self.aspects
]
super_aspect = AspectItem(aspect_dict=super_aspect)
return super_aspect, sent_off+last_sent