revising annotation by prodigy--here only one label (DATE)

Sorry, I just realised that my example above wasn’t directly referencing the example you posted. So I just updated it. And no, March 29, is correctly split into three tokens: 'March', '29', ','. So a span describing “March 29,” will also map to valid tokens.

From what you’ve posted, I think the problem is the span {"start": 63, "end": 72, "label": "DATE"}, which describes the characters ' March 29'.

text = "Therefore, the time of opposition is 17 hours 20 minutes before March 29, at 21:43, the time when the observation was made."
print(text[63:72])
# ' March 29'

The character at 63 doesn’t map to a token, because it’s whitespace. So the correct span here would be 64:72. Even outside of the context of spaCy or Prodigy, you’d probably want your data to annotate 'March 29', not ' March 29'.

I would suggest that you try my code here to find the spans that weren’t cleanly annotated and fix them by hand (e.g. by adjusting the character offsets). Hopefully, there aren’t too many of them and it’s not too much work.