medkit.text.segmentation.sentence_tokenizer
===========================================

.. py:module:: medkit.text.segmentation.sentence_tokenizer


Classes
-------

.. autoapisummary::

   medkit.text.segmentation.sentence_tokenizer.SentenceTokenizer


Module Contents
---------------

.. py:class:: SentenceTokenizer(output_label: str = _DEFAULT_LABEL, punct_chars: tuple[str, Ellipsis] = _DEFAULT_PUNCT_CHARS, keep_punct: bool = False, split_on_newlines: bool = True, attrs_to_copy: list[str] | None = None, uid: str | None = None)

   Bases: :py:obj:`medkit.core.text.SegmentationOperation`


   
   Sentence segmentation annotator based on end punctuation rules.
















   ..
       !! processed by numpydoc !!

   .. py:attribute:: _DEFAULT_LABEL
      :value: 'sentence'



   .. py:attribute:: _DEFAULT_PUNCT_CHARS
      :value: ('.', ';', '?', '!')



   .. py:method:: run(segments: list[medkit.core.text.Segment]) -> list[medkit.core.text.Segment]

      
      Return sentences detected in `segments`.


      :Parameters:

          **segments** : list of Segment
              List of segments into which to look for sentences

      :Returns:

          list of Segment
              Sentences segments found in `segments`













      ..
          !! processed by numpydoc !!


   .. py:method:: _find_sentences_in_segment(segment: medkit.core.text.Segment) -> Iterator[medkit.core.text.Segment]


   .. py:method:: _split_text(text: str, pattern: re.Pattern, keep_separator: bool) -> Iterator[tuple[int, int]]
      :staticmethod:



   .. py:method:: _build_sentence(source_segment: medkit.core.text.Segment, range_: tuple[int, int]) -> medkit.core.text.Segment


