{"id":"text-sentences-split","version":"1.0.0","description":"Split text into sentences using the default Unicode UAX #29 sentence boundary rules (Unicode 17.0.0).","supported_operations":["split text into sentences","sentence segmentation per unicode uax 29","break a paragraph into sentences","unicode sentence boundaries for any script","list the sentences in a document","sentence tokenizer without a language model","פיצול טקסט למשפטים"],"unsupported_operations":["abbreviation-aware or language-tailored splitting (for example keeping \"Mr. Smith\" together)","CLDR sentence-break suppressions or ICU locale tailorings","splitting by token counts of a model tokenizer","grammar or meaning based sentence detection"],"semantics":["Default, untailored Unicode Standard Annex #29 revision 47 sentence boundary rules SB1-SB11 and SB998 over Unicode 17.0.0 Sentence_Break property values (data_version unicode-17.0.0); passes all 512 cases of SentenceBreakTest-17.0.0.txt.","Sentences are exact consecutive substrings: trailing closing punctuation, spaces and one paragraph separator (CR LF counts as one) belong to the sentence they follow, so with trim false the sentences concatenate to the input.","A full stop does not end a sentence before a digit (3.4), between letters and an uppercase letter (U.S.A.), or when the next letter after optional closing punctuation, spaces, digits or other non-letters is lowercase (etc.) ‘(the); \"Mr. Jones\" breaks because the default rules have no abbreviation list.","trim (optional, default false): when true, code points whose Sentence_Break value is Sp, Sep, CR or LF are removed from both ends of each sentence and sentences that become empty are dropped; in the Unicode 17.0.0 data Sp includes U+00A0 NO-BREAK SPACE and U+3000 IDEOGRAPHIC SPACE, while Format characters such as U+2060 WORD JOINER are kept.","No normalization is applied (NFC and NFD input may segment at different code point offsets but the same boundaries); empty text returns no sentences.","Text is limited to 262144 UTF-8 bytes and 65536 sentences; more is limit_exceeded."],"limits":{"max_text_bytes":262144,"max_sentences":65536},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["text"],"properties":{"text":{"type":"string","maxLength":262144,"description":"Text to segment (at most 262144 UTF-8 bytes)."},"trim":{"type":"boolean","description":"Optional; default false. Trim Sp/Sep/CR/LF from both ends of each sentence and drop empty ones."}}},"output_schema":{"type":"object","additionalProperties":false,"required":["data_version","count","sentences"],"properties":{"data_version":{"type":"string","const":"unicode-17.0.0"},"count":{"type":"integer","minimum":0,"maximum":65536},"sentences":{"type":"array","maxItems":65536,"items":{"type":"string"}}}},"examples":[{"input":{"text":"She said “See spot run.” John shook his head."},"output":{"data_version":"unicode-17.0.0","count":2,"sentences":["She said “See spot run.” ","John shook his head."]}},{"input":{"text":"Pay 3.50 now, i.e. today. (Really!) Thanks.\r\nNext line","trim":true},"output":{"data_version":"unicode-17.0.0","count":4,"sentences":["Pay 3.50 now, i.e. today.","(Really!)","Thanks.","Next line"]}}],"execute_url":"/v1/tools/text-sentences-split/versions/1.0.0/execute"}