美文网首页
使用Python将文本按标点整句切分

使用Python将文本按标点整句切分

作者: 老白和他的爬虫 | 来源:发表于2019-08-06 17:42 被阅读0次

利用分词工具包例如jieba可以轻易的将句子切分为不同的单词,但是当你有切分整句的需求时,该怎么解决呢?

  • 将段落按句号切分整句

1.jieba分词可以切分单词

进行中文自然语言处理时,分词是一个常见的操作,例如:

import jieba.posseg as pseg
txt = "【#奔驰女车主不接受4S店道歉# 双方现场交涉言语激烈】4月13日,西安维权奔驰女车主和4S店方见面,双方并未当场和解。4S店相关负责人称,由于出差等原因未及时联系车主,车主则反驳称,可通过电话联系,“没人把你的联系方式给我。”交涉过程中双方言语交锋激烈。#西安奔驰女车主维权# "
words = pseg.cut(txt)
for word, flag in words:
    print('%s %s' % (word, flag))

利用这段代码对这段文本信息进行分词和词性标注,就有如下结果(部分省略):

【 x
# x
奔驰 v
女 b
车主 n
...

2.整句切分——按标点切分

或许你不需要单词切分你只需要整句切分,即按标点切分,那么你可以这样做:

import re
txt = "【#奔驰女车主不接受4S店道歉# 双方现场交涉言语激烈】4月13日,西安维权奔驰女车主和4S店方见面,双方并未当场和解。4S店相关负责人称,由于出差等原因未及时联系车主,车主则反驳称,可通过电话联系,“没人把你的联系方式给我。”交涉过程中双方言语交锋激烈。#西安奔驰女车主维权#  "
pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|‘|’|【|】|·|!| |…|(|)'
result_list = re.split(pattern, txt)
print(result_list)

这是利用正则表达式进行的整句切分,结果如下,标点符号出自动切句

['', '', '奔驰女车主不接受4S店道歉', '', '双方现场交涉言语激烈', '4月13日', '西安维权奔驰女车主和4S店方见面', '双方并未当场和解', '4S店相关负责人称', '由于出差等原因未及时联系车主', '车主则反驳称', '可通过电话联系', '“没人把你的联系方式给我', '”交涉过程中双方言语交锋激烈', '', '西安奔驰女车主维权', '', '']

3.整句切分——按句号切分

或许你需要完整的句子,即保留逗号,按句号切分一整句,这要怎么做呢?你只需要把正则表达式里的逗号去掉即可

import re
txt = "【#奔驰女车主不接受4S店道歉# 双方现场交涉言语激烈】4月13日,西安维权奔驰女车主和4S店方见面,双方并未当场和解。4S店相关负责人称,由于出差等原因未及时联系车主,车主则反驳称,可通过电话联系,“没人把你的联系方式给我。”交涉过程中双方言语交锋激烈。#西安奔驰女车主维权# "
#pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|‘|’|【|】|·|!| |…|(|)'
pattern = r'\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|。|、|;|‘|’|【|】|·|!| |…|(|)'
result_list = re.split(pattern, txt)
print(result_list)

结果如下

['', '', '奔驰女车主不接受4S店道歉', '', '双方现场交涉言语激烈', '4月13日,西安维权奔驰女车主和4S店方见面,双方并未当场和解', '4S店相关负责人称,由于出差等原因未及时联系车主,车主则反驳称,可通过电话联系,“没人把你的联系方式给我', '”交涉过程中双方言语交锋激烈', '', '西安奔驰女车主维权', '', '']

get到了吗?

相关文章

  • 使用Python将文本按标点整句切分

    利用分词工具包例如jieba可以轻易的将句子切分为不同的单词,但是当你有切分整句的需求时,该怎么解决呢? 将段落按...

  • python中的string.split()和re.split(

    现在我有一个字符串: string.split() 要求是按标点符号将文本切分成几个部分,先看python内置的s...

  • 使用贝叶斯过滤邮件

    示例:使用朴素贝叶斯过滤垃圾邮件 准备数据:切分文本 对于⼀个⽂本字符串, 可以使⽤Python的string.s...

  • 自然语言处理-Python

    楔子: 为什么选择tsv?因为tab符号在文本书写中很少使用,可以明显的将样本分割开来,但是“,”在文本中属于标点...

  • iOS-AttributedString富文本集合

    本文用于记录工作中遇到富文本处理的方法 文本中穿插带link的链接,link部分自定义颜色(如图) 将整句文本、需...

  • Python 将pdf转成图片

    本篇文章记录如何使用python将pdf文件切分成一张一张图片,包括环境配置、版本兼容问题。 环境配置(mac) ...

  • 分库分表开源中间件之Sharding-JDBC使用体验

    分库分表开源中间件之Sharding-JDBC使用体验 数据库分片思想 垂直切分 垂直切分就是把表按模块划分到不同...

  • Linux命令之大文件切分与合并

    一:切分 当面临将一个大文件进行切分时,linux的split命令是很好的选择。它包含多种参数,支持按行、大小进行...

  • 03. Hello Python

    Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做 Python 的开发 Python 程...

  • CSS之文本框样式和水平居中

    1 CSS使用 1.1 文本框样式 1.1.1 鼠标一上去变成浅绿色 1.1.2 文本框提示样式,鼠标点击获得焦点...

网友评论

      本文标题:使用Python将文本按标点整句切分

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