在python中如何分句

python

在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。

分句的关键是找到合适的结束符号,比如:中文里的 。,英文里的 . 等,而且,在这一点上中英也是有很大区分的。

这里介绍一种纯用 Python 实现的分句函数。

def cut_sentences(content):

# 结束符号,包含中文和英文的

end_flag = ['?', '!', '.', '?', '!', '。', '…']

content_len = len(content)

sentences = []

tmp_char = ''

for idx, char in enumerate(content):

# 拼接字符

tmp_char += char

# 判断是否已经到了最后一位

if (idx + 1) == content_len:

sentences.append(tmp_char)

break

# 判断此字符是否为结束符号

if char in end_flag:

# 再判断下一个字符是否为结束符号,如果不是结束符号,则切分句子

next_idx = idx + 1

if not content[next_idx] in end_flag:

sentences.append(tmp_char)

tmp_char = ''

return sentences

content = '在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。'

sentences = cut_sentences(content)

print('

'.join(sentences))

在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。

本文会介绍 Python 是如何处理 分句 的。

这个函数可以通过修改 end_flag (结束符号),来自定义特定的句子切分方式,比如加入 ; 等符号。

当然,也可以用正则表达式来完成分句,使用 re.split 的方法。

import re

def cut_sentences(content):

sentences = re.split(r'(.|!|?|。|!|?|.{6})', content)

return sentences

content = content = '在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。'

sentences = cut_sentences(content)

print('

'.join(sentences))

在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。

本文会介绍 Python 是如何处理 分句 的。

推荐课程:python基础语法全讲解视频(马哥教育2014版)

以上是 在python中如何分句 的全部内容, 来源链接: utcz.com/z/529676.html

回到顶部