Skip to content

Sentences[source]

The eds.sentences matcher provides an alternative to spaCy's default sentencizer, aiming to overcome some of its limitations.

Indeed, the sentencizer merely looks at period characters to detect the end of a sentence, a strategy that often fails in a clinical note settings. Our eds.sentences component also classifies end-of-lines as sentence boundaries if the subsequent token begins with an uppercase character, leading to slightly better performances.

Moreover, the eds.sentences component use the output of the eds.normalizer and eds.endlines output by default when these components are added to the pipeline.

Examples

import edsnlp, edsnlp.pipes as eds

nlp = edsnlp.blank("eds")
nlp.add_pipe(eds.sentences())  # same as nlp.add_pipe("eds.sentences")

text = """Le patient est admis le 23 août 2021 pour une douleur à l'estomac
Il lui était arrivé la même chose il y a deux ans."
"""

doc = nlp(text)

for sentence in doc.sents:
    print("<s>", sentence, "</s>")
# Out: <s> Le patient est admis le 23 août 2021 pour une douleur à l'estomac
# Out:  <\s>
# Out: <s> Il lui était arrivé la même chose il y a deux ans. <\s>
import edsnlp, edsnlp.pipes as eds

nlp = edsnlp.blank("eds")
nlp.add_pipe("sentencizer")

text = """Le patient est admis le 23 août 2021 pour une douleur à l'estomac"
Il lui était arrivé la même chose il y a deux ans.
"""

doc = nlp(text)

for sentence in doc.sents:
    print("<s>", sentence, "</s>")
# Out: <s> Le patient est admis le 23 août 2021 pour une douleur à l'estomac
# Out: Il lui était arrivé la même chose il y a deux ans. <\s>

Notice how EDS-NLP's implementation is more robust to ill-defined sentence endings.

Parameters

PARAMETER DESCRIPTION
nlp

The EDS-NLP pipeline

TYPE: PipelineProtocol

name

The name of the component

TYPE: Optional[str] DEFAULT: 'sentences'

punct_chars

Punctuation characters.

TYPE: Optional[List[str]] DEFAULT: None

use_endlines

Whether to use endlines prediction.

TYPE: Optional[bool] DEFAULT: None

ignore_excluded

Whether to ignore excluded tokens.

TYPE: bool DEFAULT: True

check_capitalized

Whether to check for capitalized words after newlines or full stops.

TYPE: bool DEFAULT: True

min_newline_count

The minimum number of newlines to consider a newline-triggered sentence.

TYPE: int DEFAULT: 1

Authors and citation

The eds.sentences component was developed by AP-HP's Data Science team.