【Github】TextCluster:短文本聚类预处理模块 Short text cluster
推荐Github上一个NLP相关的项目: RandyPen/TextCluster
项目地址,阅读原文可以直达,欢迎参与和Star:
https://github.com/RandyPen/TextCluster
这个项目的作者是AINLP交流群里的昭鸣同学,该项目 开源了一个短文本聚类工具,内存友好,速度不错,还不用尝试隐变量个数,欢迎使用。
以下来自该项目介绍页,点击阅读原文可以直达相关资源链接。
短文本聚类
项目介绍
短文本聚类是常用的文本预处理步骤,可以用于洞察文本常见模式、分析设计语义解析规范等。 本项目实现了内存友好的短文本聚类方法。
依赖库
pip install tqdm jieba
使用方法
python cluster.py --infile ./data/infile \ --output ./data/output
具体参数设置可以参考 cluster.py
文件内 _get_parser()
函数参数说明,包含设置分词词典、停用词、匹配采样数、匹配度阈值等。
文件路径
TextCluster | README.md | LICENSE | cluster.py 主要执行程序 | |------utils 公共功能模块 | | __init__.py | | segmentor.py 分词器封装 | | similar.py 相似度计算函数 | | utils.py 文件处理模块 | |------data | | infile 默认输入文本路径,用于测试中文模式 | | infile_en 默认输入文本路径,用于测试英文模式 | | seg_dict 默认分词词典 | | stop_words 默认停用词路径
注: 本方法仅面向短文本,长文本聚类可根据需求选用 SimHash , LDA 等其他算法。
Text Cluster
Introduction
Text cluster is a normal preprocess method to analysis text feature. This project implements a memory friendly method for short text cluster . For long text, it will be preferable to choose SimHash or LDA or others according to demand.
Requirements
pip install tqdm spacy
Usage
python cluster.py --infile ./data/infile_en \ --output ./data/output \ --lang en
File Structure
TextCluster | README.md | LICENSE | cluster.py main excutable function | |------utils utilities | | __init__.py | | segmentor.py tokenizer wrapper | | similar.py similarity calculator | | utils.py file process module | |------data | | infile default input file path, to test Chinese mode | | infile_en default input file path, to test English mode | | seg_dict default tokenizer dict path | | stop_words default stop words path
Other Language
For other specific language, modify tokenizer wrapper in ./utils/segmentor.py
.
推荐阅读
BERT 瘦身之路:Distillation,Quantization,Pruning
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。