Skip to content

Commit ffebc59

Browse files
danieldkDaniël de Kok
authored andcommitted
Apply biaffine decoding before sequence labeling
This ensures that sequence label decoders such as TdzLemma have access to dependency labels. (cherry picked from commit 083c1b1)
1 parent 84c1985 commit ffebc59

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [Unreleased]
4+
5+
### Fixed
6+
7+
- Apply biaffine dependency encoding before sequence labeling, so that
8+
the TüBa-D/Z lemma decoder has access to dependency relations.
9+
310
## 0.3.0
411

512
### Added

syntaxdot/src/tagger/mod.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,18 @@ impl Tagger {
6262
predictions.biaffine_score_logits.is_some(),
6363
);
6464

65-
self.decode_sequence_labels(sentences, predictions.sequences_top_k)?;
66-
65+
// Decode dependencies before sequence labels. Biaffine parsing does not require any
66+
// other annotations. Sequence labelers, however, may require dependencies (e.g. the
67+
// TüBa-D/Z lemmatizer).
6768
if let (Some(encoder), Some(biaffine_score_logits)) = (
6869
self.biaffine_encoder.as_ref(),
6970
predictions.biaffine_score_logits,
7071
) {
7172
tch::no_grad(|| self.decode_biaffine(encoder, sentences, biaffine_score_logits))?
7273
}
7374

75+
self.decode_sequence_labels(sentences, predictions.sequences_top_k)?;
76+
7477
Ok(())
7578
}
7679

0 commit comments

Comments
 (0)