关于文本分句这点,说简单也简单,说复杂也复杂。一般的自然语言处理任务中对这点要求并不严格,一般按照句末标点切分即可。也有一些专门从事文本相关项目的行业,可能就会有较高的要求,想100%分句正确是要考虑许多语言本身语法的,这里算是写个中等水平的。以《背影》中的一段话为例:
我心里暗笑他的迂;他们只认得钱,托他们只是白托!而且我这样大年纪的人,难道还不能料理自己么?唉,我现在想想,那时真是太聪明了!
我说道:“爸爸,你走吧。”他往车外看了看说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。
python实现:
import re
def __merge_symmetry(sentences, symmetry=('“','”')):
'''合并对称符号,如双引号'''
effective_ = []
merged = True
for index in range(len(sentences)):
if symmetry[0] in sentences[index] and symmetry[1] not in sentences[index]:
merged = False
effective_.append(sentences[index])
elif symmetry[1] in sentences[index] and not merged:
merged =