美文网首页
Note - 中文分句

Note - 中文分句

作者: 汉江岳 | 来源:发表于2019-08-14 18:11 被阅读0次

起因: 直接清洗后的新闻文档(str)用jieba分词 觉得不妥,不便于做抽取式摘要(抽取关键句子)

做中文分句还是蛮复杂的一件事!!!
简单地使用 。!?进行分句会存在问题
例如: 玄德幼时,与乡中小儿戏于树下,曰:“我为天子,当乘此车盖。”

Google一番并测试之后,发现下面这两种方法效果都不错。推荐一哈

参考1: https://github.com/fxsjy/jieba/issues/575#issuecomment-359637511

import re

# sentence seperate pattern
sent_sep_pattern = re.compile('([﹒﹔﹖﹗.。!?]["’”」』]{0,2}|(?=["‘“「『]{1,2}|$))') # del :;
def sentence_split(article):
    sent_list = []
    for ele in sent_sep_pattern.split(article):
        if sent_sep_pattern.match(ele) and sent_list:
            sent_list[-1] += ele
        elif ele:
            sent_list.append(ele)
    return sent_list

参考2:https://blog.csdn.net/blmoistawinde/article/details/82379256

# 版本为python3,如果为python2需要在字符串前面加上u
import re
def cut_sent(para):
    para = re.sub('([。!?\?])([^”’])', r"\1\n\2", para)  # 单字符断句符
    para = re.sub('(\.{6})([^”’])', r"\1\n\2", para)  # 英文省略号
    para = re.sub('(\…{2})([^”’])', r"\1\n\2", para)  # 中文省略号
    para = re.sub('([。!?\?][”’])([^,。!?\?])', r'\1\n\2', para)
    # 如果双引号前有终止符,那么双引号才是句子的终点,
    #把分句符\n放到双引号后,注意前面的几句都小心保留了双引号
    para = para.rstrip()  # 段尾如果有多余的\n就去掉它
    # 很多规则中会考虑分号;,但是这里我把它忽略不计,破折号、英文双引号等同样忽略,
    #需要的再做些简单调整即可。
    return para.split("\n")

相关文章

  • Note - 中文分句

    起因: 直接清洗后的新闻文档(str)用jieba分词 觉得不妥,不便于做抽取式摘要(抽取关键句子) 做中文分句还...

  • 中文分句

    在NLP相关任务中, 有些预处理可能需要将文本按句子划分。于是在网上搜了一些别人写好的代码片段,但是在使用的过程中...

  • 20170702桃花源教育日记(三十四)——周末绘本专场

    @承希妈妈 绘本《乌鸦男孩》note.youdao.com/noteshare (中文版链接)note.youda...

  • 基于LTP的分句、分词、POS和依存句法分析

    分句 #分句 from pyltpimport SentenceSplitter sentence = Sente...

  • Elasticsearch Logstash Kibana

    ref: Learning ELK Stack Note:《Learning ELK Stack 中文版》中由于版...

  • Python对中文文本进行分句

    小组作业要求要对传进来的中文文本进行分句 测试小段文本节选自《破云》 这是菜鸟写出借鉴大佬代码敲出来的,水平不高。...

  • 英语句子结构

    句子皆由一个或多个分句构成。切记分句是指由一个主语和一个动词构成的一组词。某些分句(独立分句)是完整句,可独立成句...

  • Note - 训练中文词向量

    起因: 想直接使用别人预训练好的中文词向量(比如:https://github.com/Embedding/Chi...

  • 常见语病(三)

    分句之间缺乏逻辑关系,复句的各分句之间必须有密切的逻辑关系,否则,不能构成复句。有的分句之间没有必然的因果关系,有...

  • 钱的符合怎么打

    1.使用输入法工具:在中文状态下,使用Shift+$/4 键,可以快速打出¥,记住是中文状态下NOTE: 英文状态...

网友评论

      本文标题:Note - 中文分句

      本文链接:https://www.haomeiwen.com/subject/otpnjctx.html