Comment modifier la NLTK phrase tokenizer

Je suis en utilisant NLTK pour analyser quelques textes classiques et je suis en cours d'exécution pour la difficulté à la segmentation du texte en une phrase. Par exemple, voici ce que je reçois pour un extrait de Moby Dick:

import nltk
sent_tokenize = nltk.data.load('tokenizers/punkt/english.pickle')

'''
(Chapter 16)
A clam for supper? a cold clam; is THAT what you mean, Mrs. Hussey?" says I, "but
that's a rather cold and clammy reception in the winter time, ain't it, Mrs. Hussey?"
'''
sample = 'A clam for supper? a cold clam; is THAT what you mean, Mrs. Hussey?" says I, "but that\'s a rather cold and clammy reception in the winter time, ain\'t it, Mrs. Hussey?"'

print "\n-----\n".join(sent_tokenize.tokenize(sample))
'''
OUTPUT
"A clam for supper?
-----
a cold clam; is THAT what you mean, Mrs.
-----
Hussey?
-----
" says I, "but that\'s a rather cold and clammy reception in the winter time, ain\'t it, Mrs.
-----
Hussey?
-----
"
'''

Je ne pas attendre à la perfection ici, considérant que la nouvelle de Melville syntaxe est un peu daté, mais NLTK devrait être capable de gérer le terminal des guillemets, et des titres comme "Madame" Depuis le tokenizer est le résultat de l'apprentissage non supervisé algo, cependant, je ne peux pas comprendre comment bricoler avec elle.

Quelqu'un a des recommandations pour une meilleure phrase générateur de jetons? Je préfère une simple heuristique que je peux pirater plutôt que d'avoir à former mon propre analyseur.

InformationsquelleAutor Chris Wilson | 2012-12-30