Align behavioral event annotation protocol
This commit is contained in:
@@ -24,8 +24,8 @@ python3 prepare_easycom_eot_int_review.py \
|
||||
|
||||
The generator emits two independent files:
|
||||
|
||||
- `easycom_eot_int_candidates.jsonl` contains EOT opportunities that pair a
|
||||
non-wearer release with a later floor-level wearer `0->1` behavior anchor
|
||||
- `easycom_eot_int_candidates.jsonl` contains floor-level wearer `0->1`
|
||||
behavior anchors retrospectively paired with a preceding non-wearer release
|
||||
(`WEARER_ONSET`, `EOT_OPPORTUNITY_CANDIDATE`), only episode-ending wearer
|
||||
`1->0` boundaries where a new non-wearer onset satisfies
|
||||
`wearer_floor_start < other_onset < wearer_offset` and the same activity
|
||||
@@ -49,9 +49,10 @@ continues across the resumed onset conservatively preserves a new wearer-entry
|
||||
candidate. Every decision is stored in `temporal_evidence`, including the raw
|
||||
gap, feedback IDs, competing IDs, threshold, and `floor_episode_merged` flag.
|
||||
|
||||
After each non-wearer release, EOT construction scans forward until a
|
||||
floor-level wearer onset or a competing non-wearer onset. Silence length alone
|
||||
does not invalidate the opportunity. Each primary EOT candidate stores both
|
||||
For each floor-level wearer onset, EOT construction searches backward for the
|
||||
most recent non-wearer release and rejects the pair if wearer speech or a
|
||||
competing non-wearer onset intervenes. Silence length alone does not invalidate
|
||||
the opportunity. Each primary EOT candidate stores both
|
||||
`opportunity_anchor_seconds` and `behavior_anchor_seconds`, plus their response
|
||||
delay.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user