title: NLTK PunktSentenceTokenizer ellipsis splitting
body: <p>I'm working with NLTK <a href="http://www.nltk.org/api/nltk.tokenize.html#nltk.tokenize.punkt.PunktSentenceTokenizer" rel="nofollow">PunktSentenceTokenizer</a> and I'm facing a situation where the a text containing multiple sentences separated by the <a href="https://en.wikipedia.org/wiki/Ellipsis" rel="nofollow">ellipsis character (...)</a>. Here is the example I'm working on:</p>
  
  <pre><code>&gt;&gt;&gt; from nltk.tokenize import PunktSentenceTokenizer
  &gt;&gt;&gt; pst = PunktSentenceTokenizer()
  &gt;&gt;&gt; pst.sentences_from_text("Horrible customer service... Cashier was rude... Drive thru took hours... The tables were not clean...")
  ['Horrible customer service... Cashier was rude... Drive thru took hours... The tables were not clean...']
  </code></pre>
  
  <p>As you can see, the sentences are not separated. Is there a way to make it work as I could expect it (that is, returning a list with four items)?</p>
  
  <p><strong>Additional information</strong>: I've tried to use the <code>debug_decisions</code> function to try to understand why such decision was made. I got the following result:</p>
  
  <pre><code>&gt;&gt;&gt; g = pst.debug_decisions("Horrible customer service... Cashier was rude... Drive thru took hours... The tables were not clean...")
  
  &gt;&gt;&gt; [x for x in g]
  [{'break_decision': None,
    'collocation': False,
    'period_index': 27,
    'reason': 'default decision',
    'text': 'service... Cashier',
    'type1': '...',
    'type1_in_abbrs': False,
    'type1_is_initial': False,
    'type2': 'cashier',
    'type2_is_sent_starter': False,
    'type2_ortho_contexts': set(),
    'type2_ortho_heuristic': 'unknown'},
   {'break_decision': None,
    'collocation': False,
    'period_index': 47,
    'reason': 'default decision',
    'text': 'rude... Drive',
    'type1': '...',
    'type1_in_abbrs': False,
    'type1_is_initial': False,
    'type2': 'drive',
    'type2_is_sent_starter': False,
    'type2_ortho_contexts': set(),
    'type2_ortho_heuristic': 'unknown'},
   {'break_decision': None,
    'collocation': False,
    'period_index': 72,
    'reason': 'default decision',
    'text': 'hours... The',
    'type1': '...',
    'type1_in_abbrs': False,
    'type1_is_initial': False,
    'type2': 'the',
    'type2_is_sent_starter': False,
    'type2_ortho_contexts': set(),
    'type2_ortho_heuristic': 'unknown'}]
  </code></pre>
  
  <p>I was unfortunately not able to understand the meaning of these dict, although it seems that the tokenizer did actually detect the ellipsis but for some reason took the decision to <em>not</em> split the sentence by these symbols. Any idea? </p>
  
  <p>Thanks!</p>