准确地分裂句子

Mar*_*rko 5 python parsing nlp

我的程序采用一个文本文件,并将每个句子分成一个列表,使用的split('.')意思是,当它注册一个完整的停止时它会分裂但是它可能是不准确的.

例如

str='i love carpets. In fact i own 2.4 km of the stuff.'
Run Code Online (Sandbox Code Playgroud)

产量

listOfSentences = ['i love carpets', 'in fact i own 2', '4 km of the stuff']

期望的输出

 listOfSentences = ['i love carpets', 'in fact i own 2.4 km of the stuff']
Run Code Online (Sandbox Code Playgroud)

我的问题是:我如何分割句子的结尾,而不是每一个句号.

isa*_*ert -2

如果你有两个句子都以“.”结尾 和“.”,你可以尝试正则表达式:

import re

text = "your text here. i.e. something."
sentences = re.split(r'(?<!\w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)\s', text)
Run Code Online (Sandbox Code Playgroud)

来源:Python - 用于将文本拆分为句子的正则表达式(句子标记化)