Thanks to visit codestin.com
Credit goes to github.com

Skip to content

【G20200389010096-Week 05】学习总结 #1189

@sysy2711

Description

@sysy2711

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. 扩展语料库

8. 生产环境算法优化

  • 词频分析优化
  • 移除低价值词汇
  • 句子预处理
  • 提取未登录词:隐马尔科夫模型 + Viterbi算法

9. 想要在深度学习方向发展的,建议学习jieba的底层算法

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions