revert to not interleaving (relized its faster)

This commit is contained in:
kadarakos 2023-05-03 13:32:41 +00:00
parent a5b9e63664
commit 82f6a813f0

View File

@ -229,21 +229,23 @@ class SpanFinder(TrainablePipe):
offset = 0 offset = 0
for i, doc in enumerate(docs): for i, doc in enumerate(docs):
doc.spans[self.predicted_key] = [] doc.spans[self.predicted_key] = []
starts = []
ends = []
doc_scores = scores[offset:offset + len(doc)] doc_scores = scores[offset:offset + len(doc)]
for j in range(len(doc)):
start_token_score = doc_scores[j] for token, token_score in zip(doc, doc_scores):
# If token is a START then start scanning following tokens if token_score[0] >= self.threshold:
if start_token_score[0] >= self.threshold: starts.append(token.i)
for k in range(j, len(doc)): if token_score[1] >= self.threshold:
end_token_score = doc_scores[k] ends.append(token.i)
# If token is an END check whether the lenght contraint is met
if end_token_score[1] >= self.threshold: for start in starts:
span_length = k + 1 - j for end in ends:
span_length = end + 1 - start
if span_length > self.max_length: if span_length > self.max_length:
break break
elif self.min_length <= span_length: elif self.min_length <= span_length:
span = doc[j : k + 1] doc.spans[self.predicted_key].append(doc[start : end + 1])
doc.spans[self.predicted_key].append(span)
def update( def update(
self, self,