Skip to content

ionaaaa/split_text

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

split_text

功能概述

本代码旨在实现中/英文文本的分割,数据结构如下:

第一层列表:偶数index的元素为非引号内的文本,奇数index内的元素为引号内的文本。所有元素均为列表。

第二层列表:每个文本按句末符号(问号、感叹号、句号)切分后的文本。所有元素均为列表。

第三层列表:每个文本按逗号切分后的文本,所有元素均为字典。

字典:包含两个field,“text”为原文本,“index”为原文本经过分词后得到的index,每个字符的index为0或1。若为1,该字符位于词尾,0则为非词尾。例子:'text': '蟒蛇把猎物囫囵吞下,', 对应的分词结果为'蟒蛇|把|猎物|囫囵|吞|下|,|' 对应的'index': array([0., 1., 1., 0., 1., 0., 1., 0., 1., 1.])}

依赖项

python re

python jieba

python numpy

测试数据

《小王子》中文译本

使用示例

以下是如何使用该代码的示例。以《小王子》中文译本为例:

import split_text

filename = "xiaowangzi_zhoukexi_main_text.txt"
result = split(filename, language="Chinese")
for e in result:
    print(e)

运行代码结果如下:

[[{'text': '1我六岁那年,', 'index': array([1., 1., 0., 1., 0., 1., 1.])}, {'text': '在一本描写原始森林的名叫《真实的故事》的书上,', 'index': array([1., 0., 1., 0., 1., 0., 0., 0., 1., 1., 0., 1., 1., 0., 1., 1., 0., 1., 1., 1., 0., 1., 1.])}, {'text': '看见过一幅精彩的插图,', 'index': array([0., 1., 1., 0., 1., 0., 1., 1., 0., 1., 1.])}, {'text': '画的是一条蟒蛇在吞吃一头猛兽。', 'index': array([1., 1., 1., 0., 1., 0., 1., 1., 1., 1., 0., 1., 0., 1., 1.])}], [{'text': '我现在把它照样画在上面。', 'index': array([1., 0., 1., 1., 1., 0., 1., 1., 1., 0., 1., 1.])}], [{'text': '书中写道:', 'index': array([0., 1., 0., 1., 1.])}]]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages