Skip to content

Sentence segmentation

segment

Sentence segmentation for Odia text.

Examples:

>>> from openodia import sentences
>>> sentences("ଆଜି ୨.୫ କୋଟି ଟଙ୍କା। ଆଗକୁ କଣ?")
['ଆଜି ୨.୫ କୋଟି ଟଙ୍କା।', 'ଆଗକୁ କଣ?']

sentences

sentences(
    text: str,
    *,
    mode: SegmenterMode = "default",
    keep_terminators: bool = True,
) -> list[str]

Split text into sentences.

Parameters:

Name Type Description Default
text str

Input string. May be Odia, mixed Odia/Latin, or empty.

required
mode SegmenterMode

"default" (recommended) treats ।, ॥, ., ?, !, … as terminators. "strict" only treats Odia terminators (।, ॥) as boundaries — useful for classical Odia text that uses Latin periods inside content.

'default'
keep_terminators bool

When True (default), each returned sentence includes its trailing punctuation. Set to False to strip the terminator.

True

Returns:

Type Description
list[str]

List of sentences in source order. Empty input returns an empty

list[str]

list.

Raises:

Type Description
ValueError

If mode is not recognised.

Examples:

>>> sentences("ଆଜି ୨.୫ କୋଟି। ଆଗକୁ କଣ? ଭଲ ଦିନ!")
['ଆଜି ୨.୫ କୋଟି।', 'ଆଗକୁ କଣ?', 'ଭଲ ଦିନ!']
>>> sentences("ଡଃ ସୁନୀତା ଆସିଲେ। ସେ କଲେଜରେ ପଢ଼ାନ୍ତି।")
['ଡଃ ସୁନୀତା ଆସିଲେ।', 'ସେ କଲେଜରେ ପଢ଼ାନ୍ତି।']