使用NLTK的Python语句拆分

使用NLTK的Python语句拆分,python,nltk,tokenize,Python,Nltk,Tokenize,我正在把这段话分成几个句子 我在谷歌上搜索了一下,发现nltk在分句时效果很好,但我发现了一个问题 import nltk sent_detector = nltk.data.load('tokenizers/punkt/english.pickle') summary = 'George Stanley McGovern (July 19, 1922 – October 21, 2012) was an American historian, author, U.S. Representa

我正在把这段话分成几个句子

我在谷歌上搜索了一下,发现nltk在分句时效果很好,但我发现了一个问题

import nltk

sent_detector = nltk.data.load('tokenizers/punkt/english.pickle') 
summary = 'George Stanley McGovern (July 19, 1922 – October 21, 2012) was an American historian, author, U.S. Representative, U.S. Senator, and the Democratic Party presidential nominee in the 1972 presidential election.'
summary = (sent_detector.tokenize(summary))
结果应该只有一句话。但是,它返回两个句子

[“乔治·斯坦利·麦戈文(George Stanley McGovern,1922年7月19日至2012年10月21日)是美国历史学家、作家、美国众议员、参议员和1972年总统选举中民主党总统候选人。”


到目前为止,来自D Greenberg的代码似乎比NLTK好。正如您自己所说,它大部分工作正常。你发现了一个成功证明其弱点的例子。我总是偶然发现这样的例子。你可以试试splitta:句子边界检测很难。这就是一个例子。我怀疑这是尾随期,我不确定这是否正确。是美国吗?是的,是美国。到目前为止,我前面提到的代码比NLTK工作得更好。这个包也可能很好,但它是Java。到目前为止,来自D Greenberg的代码似乎比NLTK好。正如您自己所说,它大部分都工作得很好。你发现了一个成功证明其弱点的例子。我总是偶然发现这样的例子。你可以试试splitta:句子边界检测很难。这就是一个例子。我怀疑这是尾随期,我不确定这是否正确。是美国吗?是的,是美国。到目前为止,我前面提到的代码比NLTK工作得更好。这个包也可以很好,但它是Java。