前言
随着BERT、ERNIE、XLNet等预训练模型的流行,解决NLP问题时不用上预训练模型似乎总显得自己有点过时。 但是这显然是不对的。
众所周知,无论训练还是推理,预训练模型都会消耗大量的算力,且高度依赖GPU计算资源。然而,有很多的NLP问题实际上仅仅靠 字典+规则 就可以做到够用,那么这时候强行上笨重的模型无异于高射炮打蚊子,性价比是非常低的。
于是小夕就从一个比较疯狂的github repo里为大家 精挑细选 了 45个 比较实用的开源小工具和字典,让大家在搭建NLP系统、辅助炼丹的过程中少一些模型和算力的依赖,多一些小而美的代码。
repo地址:
https://github.com/fighting41love/funNLP
注:这是一个非常丧心病狂的repo,里面收录了300多个项目,但是比较鱼龙混杂,要记得多多横向对比哦
敏感词包括晸治、脏话等话题词汇。其原理主要是基于词典的查找(项目中的keyword文件),内容很不清真
地址:https://code.google.com/archive/p/language-detection
pip install langdetect
输出结果如下:注:语言类型主要参考的是ISO 639-1语言编码标准,详见ISO 639-1百度百科
跟上一个语言检测比较,准确率低,效率高。
repo: ls0f/phone
已集成到 python package cocoNLP中
支持号段: 13 ,15 ,18*,14[5,7],17[0,6,7,8]
记录条数: 360569 (updated:2017年4月)
作者提供了数据phone.dat 方便非python用户Load数据。
基于朴素贝叶斯计算的概率
已集成到 python package cocoNLP中
已集成到 python package cocoNLP中
repo: wainshine/Chinese-Names-Corpus
人名抽取功能已加入 python package cocoNLP
(可用于中文分词、姓名识别)
此package的敏感词库分类更细:
反动词库, 敏感词库表统计, 暴恐词库, 珉生词库, 色情词库
文本纠错会用到
相当于用英文音标,模拟中文发音。
简/繁体汉字笔顺 矢量笔画
已集成到 python package cocoNLP中
java version:
https://github.com/shinyke/Time-NLP
python version:
https://github.com/zhanzecheng/Time_NLP
中文、阿拉伯数字互转 中文与阿拉伯数字混合的情况,在开发中
更全的古诗词库:
https://github.com/chinese-poetry/chinese-poetry
已整理到本repo的data文件夹中.
repo: camelot-dev/camelot
包含了用户名禁用列表,比如:
TextGrapher - Text Content Grapher based on keyinfo extraction by NLP method。输入一篇文档,将文档进行关键信息提取,进行结构化,并最终组织成图谱组织形式,形成对文章语义信息的图谱化展示
repo: zacanger/profane-words
Java学习路线和优质资源私信评论Java获取。