flashtext:大规模文本数据清洗利器
2013 年 4 月 2 日
做 文本分析 【文本数据挖掘快速入门】时候经常遇到同意多形词,如 BigApple/NewYork/NN
都可能代指纽约市,当我们统计纽约市出现的次数的时候我们需要分别统计这三个词的数目并进行加总。
flashtext对于处理上面的问题非常擅长,而且运算速度特别快。清洗数据的速度,我们可以拿正则表达式来和flashtext作比较
我们发现运行正则表达式来清洗数据,速度会随着数据量线性下降,而flashtext的清洗性能基本保持不变。
一、安装
二、官方文档
三、常用用法
3.1 不清洗,直接提取关键词
Run
3.2 同义词指代,抽取关键词
像big apple 和new york都代指纽约,我们需要先清洗好数据,统一用一个词语代指纽约,再去抽取关键词语。这就用到 add_keyword方法。
Run
3.3 多个同义词指代
如果同义词太多,可以用字典构建映射关系。使用到的方法是add keywords from_dict
Run
3.4 移除关键词
有的时候我们可能加错了关键词,想去除之前添加的关键词。这就用到remove keyword/remove keywords/remove keywords from dict/remove keywords from list
Run
3.5 关键词个数
查看自定义的关键词个数
Run
3.6 判断某个词是否存在于关键词处理器中
Run
add_keyword()中的传入的顺序不同,结果也不同
Run
这个比较简单
Run
3.7 获取关键词映射关系
Run
3.8 替换关键词
Run
3.9 关键词的位置
flashtext还能计算待考察词语的开始与结束的索引值
Run
3.10 额外的信息
根据关键词,还能抽取一些额外的信息,如时间、位置等。但这些功能在中文中可能不太适用,英文问题不大。
Run
推荐阅读