如何通过NLTK中的标记将一个段落分割成句子

时间:2015-09-09 03:07:48

标签: python regex nltk

现在我在标记后有一个段落,我想将它分成NLTK中的单个句子。

我想到的第一个想法就是使用<PU>标记执行此操作,例如, .标点符号。所以正则表达式如下:

    grammer = r"""
    NP:
        {<.*>+}
        }<PU>{
    """

但是,我发现我遗漏了其他标点符号,例如(){} ......

因此上述句子不能很好地用于下面的句子,因为标点符号( )用于分割成句子。

客户#NN 表示#VV 销售人员#NN 挺#AD 热情#VA 的#SP ,#PU 而且#AD 经销#VV 店里#NN 的#DEC 员工#NN 臧#NR 伟#NR (#PU 音#NN 同#CC )#PU 特别#JJ 热心#NN 。

如何使用中文的,.分割句子?

1 个答案:

答案 0 :(得分:3)

您应该能够使用普通的Python正则表达式来拆分段落:

import re
pat = re.compile('。|,')
paragraph = '客户#NN 表示#VV 销售人员#NN 挺#AD 热情#VA 的#SP ,#PU 而且#AD 经销#VV 店里#NN 的#DEC 员工#NN 臧#NR 伟#NR (#PU 音#NN 同#CC )#PU 特别#JJ 热心#NN'

pat.split(paragraph)
['客户#NN 表示#VV 销售人员#NN 挺#AD 热情#VA 的#SP ',
 '#PU 而且#AD 经销#VV 店里#NN 的#DEC 员工#NN 臧#NR 伟#NR (#PU 音#NN 同#CC )#PU 特别#JJ 热心#NN']