因为我这里已经下载过NLTK了,所以就不提供安装教程了,搜一搜都能找到。
这里就直接演示对英文句子切分:
from nltk.tokenize.punkt import PunktSentenceTokenizer, PunktParameters
def cut_sentences_en(content):
punkt_param = PunktParameters()
abbreviation = ['i.e.', 'dr', 'vs', 'mr', 'mrs', 'prof', 'inc'] # 自定义的词典
punkt_param.abbrev_types = set(abbreviation)
tokenizer = PunktSentenceTokenizer(punkt_param)
sentences = tokenizer.tokenize(content)
return sentences
测试:
可以发现Mr. Smith并没有被分开。