Python中文分句问题

回复: Python中文分句问题

而我期望的效果应该是中文分句,一个句子一行,如:
[FONT=宋体]在[/FONT][FONT=宋体]开始[/FONT][FONT=宋体]选项卡上,通过从快速样式库中为所选文本选择一种外观,您可以方便地更改文档中所选文本的格式。[/FONT]
[FONT=宋体]您还可以使用[/FONT][FONT=宋体]开始[/FONT][FONT=宋体]选项卡上的其他控件来直接设置文本格式。[/FONT]
[FONT=宋体]大多数控件都允许您选择是使用当前主题外观,还是使用某种直接指定的格式。[/FONT]

你可以将代码中的cutlist定制好,删除其中的分号、引号等,只留下句号等等作为分句的依据就可以实现了
 
Last edited:
回复: Python中文分句问题

你可以将代码中的cutlist定制好,删除其中的分号、引号等,只留下句号等等作为分句的依据就可以实现了

是的,但句号等标点符号会被孤零零地分到下一行,就像这样:

还是使用某种直接指定的格式
 
回复: Python中文分句问题

是的,但句号等标点符号会被孤零零地分到下一行,就像这样:

还是使用某种直接指定的格式
试试下面这个修改后的代码。
[xcode=python]
# -*- coding: utf-8 -*-
def FindTok(cutlist, char):
if char in cutlist:
return True
else:
return False

def Cut(cutlist,lines):
l = []
line = []

for i in lines:
if FindTok(cutlist,i):
line.append(i)
l.append(''.join(line))
#l.append(i)
line = []
else:
line.append(i)
return l

cutlist ="[。,,!……!《》<>\"'::?\?、\|“”‘’;]{}(){}【】(){}():?!。,;、~——+%%`:“”"'‘\n\r".decode('utf-8')
for lines in file("test.txt"):
l = Cut(list(cutlist),list(lines.decode('gbk')))
i = 0
for line in l:
if line.strip() <> "":#这里可能包含空格
li = line.strip().split()
for sentence in li:
i = i +1
print i,sentence



[/xcode]
 
Last edited:
回复: Python中文分句问题

对,就是这种效果!aarondeng还每个句子前加了序号,十分感谢aarondeng!

1 对于“插入”选项卡上的库在设计时都充分考虑了其中的项与文档整体外观的协调性。
2 您可以使用这些库来插入表格、页眉、页脚、列表、封面以及其他文档构建基块!
3 您创建的图片、图表或关系图也将与当前的文档外观协调一致。
 
Back
顶部