实验室数据大多由人工众包构建而成,其格式规范,内容干净,数据经过一些简单清洗便能用于模型训练;而真实环境下的数据往往来自于一些用户日志、员工记录等,其文件格式众多,数据内容包含大量噪声,想要获得内容干净、格式规范统一的数据,就需要对这些数据进行深度清洗。Takin就是一款用于真实环境下数据的解析、深度清洗、统计的开源工具,它集成了一些优秀的开源插件(如spacy、jieba),并通过对外提供函数接口的方式,来帮助使用者解析数据、清洗数据、统计数据等。
Takin的目标是:对于任何形式、任何内容的数据,通过Takin就能完全得到你所期望的最规范、最干净的数据。
为了接近并最终达到这个目标,Takin包含以下功能:
- 文本解析:从多种文件格式 (如pdf、pptx、msg、html等)中解析文本;
- 数据清洗:提供多个清洗函数接口(如删除数字、序号、标点、特殊字符等);
- 数据处理:包括分词、词性标注、数据划分等;
- 数据分析:统计文本、句子长度,词数、句子数等;
- 数据增强:提供一些简单的数据增强方法,如近义词替换、随机交换、删除单词、释义生成;
- 简单任务:提供一些简单的NLP任务,如关键词抽取、色情文本判断、命名实体识别,情感分析等。
import takin
# 删除多余的空格
test4 = "I lovw python d "
print(takin.delete_extra_whitespace(test4))
# 删除数字
test5 = "jjj 555 5 555 jkdn33 78 0 6 7"
print(takin.delete_digit(test5))
# 删除括号及括号里的内容
test7 = "dd<dd>d[e]dd【33445可爱】dd{众多}(就就很尴尬)jjj(尅啊)"
print(takin.delete_bracket(test7))
# 删除序号
test8 = "1. 亨 2.hhjsidh (66).jasckjs 2.34 (9999).周驰你上课 1).2)."
print(takin.delete_extra_whitespace(takin.delete_series_number(test8)))
- 从html、pdf、word、msg、ppt、excel中提取文本
- 删除所有该格式的专属标签 (如删除html文本中的html标签)
- 转化类
- 大小写转化
- 首字母大写
- 简繁体转化
- 全半角转化
- 词干还原
- 文本去重
- 单词拼写纠错
- 删除类
- 删除所有标点符号
- 删除多余空白格
- 删除所有转义字符
- 删除所有数字
- 删除所有括号([]、{}、())及里面的内容
- 删除序号数字 (1.或(1).)
- 删除一些特殊字符 (-~#/*&$|★▶><\^@)
- 删除中文文本里的英文字符
- 删除英文文本里的中文字符
- 分词、词性标注
- 数据划分
- 词向量转化
- BPE
- 词频统计(词云)
- 字数统计/句数统计/段数统计
- 近义词替换
- 随机删除、交换单词
- 释义生成
- 色情文本判断、识别
- 情感分析
- 关键词提取(基于tf-idf的无监督关键词抽取)
- 命名实体识别
- 摘要生成
- 事件抽取
目前Takin整体还处理初期开发阶段,才疏学浅,若有错误和不当之处,请批评与指正! Email: yymmjing@gmail.com