美文网首页Learning
jieba分词入门

jieba分词入门

作者: 树深见醋 | 来源:发表于2019-10-12 17:05 被阅读0次

    结巴分词代码临摹中,做一下知识点归集

    Part 1. 分词相关概念

    分词是自然语言理解的重要步骤。

    分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。

    1、分词算法分类

    1)基于字符串匹配的分词方法:

    基本思想是扫描字符串,如发现字符串的子串和词典中的词语相同,就算匹配。

    通常会加入一些启发式规则,如“正向/反向最大匹配”,“长词优先匹配”等;

    优点是速度快,成本低;但对歧义和未登录词处理不好

    2)基于统计以及机器学习的分词方式

    基于人工标注的词性和统计特征进行建模,并通过模型计算分词概率;

    常见的序列标注模型有HMM和CRF

    这类分词算法能很好处理歧义和未登录词的问题,准确率更佳;但需要大量人工标注,分词速度也较慢。

    常见的分词器都是使用机器学习算法和词典相结合,一方面能够提到分词准确率,另一方面能够改善领域适应性。


    2、中英文分词的典型区别

    区别 1)分词方式不同,中文更难

    英文有天然的空格作为分隔符,但中文没有。所以如何切分是一个难点。且中文里存在较多一词多义现象。

    区别 2)英文单词有多种形态

    英文单词存在丰富的变形变换。为了应对这些复杂的变换,英文NLP相比中文存在一些特殊处理步骤,我们成为词形还原(Lemmatization)和词干提取(Stemming)。

    词性还原:does,done,doing,did 需要通过词性还原恢复成 do。

    词干提取:cities,children,teeth 这些词,需要转换为 city,child,tooth”这些基本形态

    区别 3)中文分词需要考虑粒度问题

    例如「中国科学技术大学」就有很多种分法:

    中国科学技术大学

    中国 \ 科学技术 \ 大学

    中国 \ 科学 \ 技术 \ 大学

    粒度越大,表达的意思就越准确,但是也会导致召回比较少。所以中文需要不同的场景和要求选择不同的粒度。

    3、中文分词的难点

    1)分词歧义

    我个人没意见

    三个人没意见

    2)未登录词识别:郑成功

    数字、实体名称/专业术语、成语、虚词、语气词


    Part 2. jieba中文分词相关概念

    1、安装说明

    详见上篇~

    2、基本特点

    支持三种分词模式

    精确模式,视图将句子最精确的切开,适合做文本分析;

    全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;

    搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

    支持繁体分词

    支持自定义词典

    代码示例

    【全模式】

    【精确模式】

    【新词识别】

    【搜索引擎模式】

    3、动态增删新词

    4、使用自定义词典

    5、使用搜狗细胞词库


    附:相关学习材料

    网易云课堂——Python数据分析(文本挖掘)

    Python第三方库jieba(中文分词)入门与进阶(官方文档)

    ​一文看懂分词 - TOKENIZATION(中英文分词区别+3 大难点+3 种典型方法)

    相关文章

      网友评论

        本文标题:jieba分词入门

        本文链接:https://www.haomeiwen.com/subject/lznqmctx.html