Skip to content

Commit

Permalink
Simplify ent.sents handling.
Browse files Browse the repository at this point in the history
  • Loading branch information
rmitsch committed Mar 14, 2023
1 parent 66f4d67 commit 9b6f47f
Showing 1 changed file with 1 addition and 20 deletions.
21 changes: 1 addition & 20 deletions spacy/pipeline/entity_linker.py
Original file line number Diff line number Diff line change
Expand Up @@ -476,26 +476,7 @@ def predict(self, docs: Iterable[Doc]) -> List[str]:
for j, ent in enumerate(ent_batch):
assert hasattr(ent, "sents")
sents = list(ent.sents)
# Note: the last sentence associated with an sentence-crossing entity isn't complete. E. g. if you
# have "Mahler's Symphony No. 8 was beautiful", the entity being "No. 8", ent.sents would be:
# 1. "Mahler's Symphony No."
# 2. "8"
# whereas doc.sents would be:
# 1. "Mahler's Symphony No."
# 2. "8 was beautiful"
# This makes it tricky to receive the last sentence by indexing doc.sents - hence we use an offset
# to determine sent_indices[1].
sent_indices = (
(
sentences.index(sents[0]),
sentences.index(sents[0]) + len(sents) - 1,
)
if len(sents) > 1
else (
sentences.index(ent.sent),
sentences.index(ent.sent),
)
)
sent_indices = (sentences.index(sents[0]), sentences.index(sents[-1]))
assert all([si >= 0 for si in sent_indices])

if self.incl_context:
Expand Down

0 comments on commit 9b6f47f

Please sign in to comment.