Sentence boundary disambiguation

Source: Wikipedia, the free encyclopedia.

Sentence boundary disambiguation (SBD), also known as sentence breaking, sentence boundary detection, and sentence segmentation, is the problem in

exclamation marks can be similarly ambiguous due to use in emoticons, source code, and slang
.

Some languages including Japanese and Chinese have unambiguous sentence-ending markers.

Strategies

The standard '

vanilla' approach to locate the end of a sentence:[clarification needed
]

(a) If it is a period, it ends a sentence.
(b) If the preceding token is in the hand-compiled
list of abbreviations
, then it does not end a sentence.
(c) If the next token is capitalized, then it ends a sentence.

This strategy gets about 95% of sentences correct.

.hack//SIGN
") and usage of non-standard punctuation (or non-standard usage of punctuation) in a text often fall under the remaining 5%.

Another approach is to automatically learn a set of rules from a set of documents where the sentence breaks are pre-marked. Solutions have been based on a

architecture uses a neural network to disambiguate sentence boundaries and achieves 98.5% accuracy.

Software

Examples of use of Perl compatible ")
Online use, libraries, and APIs
  • sent_detector – Java[5]
  • Lingua-EN-Sentence – perl[6]
  • Sentence.pm – perl[7]
  • SATZ – An Adaptive Sentence Segmentation System – by David D. Palmer – C[4]
Toolkits that include sentence detection

See also

References

  1. ^ E. Stamatatos; N. Fakotakis & G. Kokkinakis. "Automatic extraction of rules for sentence boundary disambiguation". Proceedings of the Workshop on Machine Learning in Human Language Technology. University of Patras. pp. 88–92.
  2. ^ O'Neil, John. "Doing Things with Words, Part Two: Sentence Boundary Detection". Archived from the original on 2009-02-21. Retrieved 2009-01-03.
  3. ^ Reynar, JC; Ratnaparkhi, A. "A Maximum Entropy Approach to Identifying Sentence Boundaries" (PDF). Retrieved 2009-01-03.
  4. ^ a b "SATZ: An Adaptive Sentence Boundary Detector". Archived from the original on 2007-09-22.
  5. ^ "SentParBreaker Web page". Archived from the original on 2007-11-12.
  6. ^ "Lingua-EN-Sentence-0.25 - Module for splitting text into sentences. - metacpan.org". metacpan.org.
  7. ^ "Text::Sentence - module for splitting text into sentences - metacpan.org". metacpan.org.
  8. ^ "Apache OpenNLP". opennlp.apache.org.
  9. ^ "Welcome | FreeLing Home Page".
  10. ^ "NLTK :: Natural Language Toolkit". www.nltk.org.
  11. ^ "Software - The Stanford Natural Language Processing Group". nlp.stanford.edu.
  12. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.
  13. ^ "CogCompNLP". January 2, 2024 – via GitHub.