对于输入:"Hello! What is your name?"My name is ABC.
我得到的是:
^{pr2}$
我想把输出作为一个完整的句子,比如:"Hello! What is your name?" My name is ABC.
请提出一些我必须在代码中做的修改。在
这段代码是从段落中提取句子。句子是以句号、感叹号和问号结尾的句子。但如果这些都是在引号内出现的,那么就不应该分割段落。在
例如,如果它是'"Hello! What is your name?"My name is ABC.',那么当它遇到感叹号和问号时,它应该将整个东西作为一个完整的句子返回,而不是进行除法。在from nltk.tokenize.punkt import PunktSentenceTokenizer, PunktParameters
punkt_param = PunktParameters()
punkt_param.abbrev_types = set(['dr', 'vs', 'mr', 'mrs', 'prof', 'inc'])
sentence_splitter = PunktSentenceTokenizer(punkt_param)
text =str(input())
text = text.replace('!"','!" ').replace('?"','?" ').replace('."','." ').replace('.','.').replace('?','? ').replace('!','! ')
sentences = sentence_splitter.tokenize(text)
for j in sentences:
print(j)