-
Notifications
You must be signed in to change notification settings - Fork 130
Open
Description
1. jieba分词
- 分词的目的是消除歧义,但是无法实现完全消除
- 中文由于没有形式上的字与字之间的分界,中文分词会比英文分词难度大
- 歧义切分
- 未登录词识别:对在词典和训练预料中没有出现过的词进行识别
- 不支持过滤stopword
2. jieba基本使用
- pip install jieba
- pip install paddlepaddle-tiny==1.6.1
- import jieba
- jieba.enable_paddle() # jiaba 0.4版本以后支持paddle模式
- jieba.cut(string)
3. 几种分词模式
- 精确模式(cut_all=False),主要用于词云展示,这是缺省模式
- 全模式(cut_all=True):主要用于搜索引擎提取关键字
- paddle模式(use_paddle=Ture):分词的速度比精确模式快一些
- 搜索引擎模式(jieba.cut_for_search)
4. 提取关键词:提取一篇文章中与主题最相关的词汇
- TF-IDF算法:词频-逆文件频率
- TextRank算法
用TF-IDF提取出来的关键词更贴合人类的意图 - stopword:停止词过滤也是由TF-IDF算法实现
5. 自定义词典
- 使用文本文件存放静态词典内容,并为每一个词条配置权重和词性
- 动态添加词条
- 动态删除词条
- 关闭自动计算词频(HMM=False)
- 分词合并
- 调整词频,分开分词
6. 打开多进程
- jieba.enable_parallel(process_number)
- 实际工作中并不这样用,而是由算法工程师重写算法,然后用jieba调试模型,选择合适的算法
7. 扩展语料库
- 官方扩展词典:https://github.com/fxsjy/jieba/tree/master/extra_dict
- 哈工大训练的语料库是比较准确的
8. 生产环境算法优化
- 词频分析优化
- 移除低价值词汇
- 句子预处理
- 提取未登录词:隐马尔科夫模型 + Viterbi算法
9. 想要在深度学习方向发展的,建议学习jieba的底层算法
Metadata
Metadata
Assignees
Labels
No labels