diff --git a/spacy/pipeline/spancat_exclusive.py b/spacy/pipeline/spancat_exclusive.py index 644b6c2fb..6ae661ff0 100644 --- a/spacy/pipeline/spancat_exclusive.py +++ b/spacy/pipeline/spancat_exclusive.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, cast +from typing import Callable, Dict, Iterable, List, Optional, Tuple, cast import numpy from thinc.api import Config, Model, Ops, Optimizer @@ -370,7 +370,8 @@ class SpanCategorizerExclusive(TrainablePipe): target[negative_samples, self._negative_label] = 1.0 # type: ignore d_scores = scores - target neg_weight = cast(float, self.cfg["negative_weight"]) - d_scores[negative_samples] *= neg_weight + if neg_weight != 1.0: + d_scores[negative_samples] *= neg_weight loss = float((d_scores**2).sum()) return loss, d_scores