常见的三种分词工具

常见的三种分词工具常见的三种分词工具这节课主要讲了三种常见的分词工具:jieba分词ltp分词ir分词一、 分词的概念:中文分词(ChineseWordSegmentation)指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。二、 中文分词工具jieba分词:比较常用,用法比较简单,主要有三种分词模式python安装jieba…

大家好,欢迎来到IT知识分享网。

常见的三种分词工具

这节课主要讲了三种常见的分词工具:

  1. jieba分词
  2. ltp分词
  3. ir分词

一、 分词的概念:
中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。
二、 中文分词工具

  1. jieba分词:比较常用,用法比较简单,主要有三种分词模式
  1. python安装jieba:pip install jieba/在settings里直接搜索jieba安装即可
  2. jieba的使用:import jieba
  3. jieba分词三种模式:
    a) 全模式:把句子中所有的可以成词的词语都扫描出来
    代码实现:sentence_=” 一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。”
    cut_all = jieba.cut(sentence_,cut_all=True)
    b) 精确模式:试图将句子最精确地切开(jieba默认模式)
    代码实现:cut_all = jieba.cut(sentence_)
    c) 搜索模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
    代码实现:cut_search = jieba.cut_for_search(sentence_)
    测试结果:
    在这里插入图片描述在这里插入图片描述

4)jieba分词的词性标注:词性标注就是对已经分词的文本进行词性的标注,在jieba的词性标注中,标注的文本默认以精确模式切分。
词性标注需要引用文件,语句:import jieba.posseg as pos
代码实行以及运行结果:
在这里插入图片描述在这里插入图片描述
5)词频统计:利用jieba可以直接完成词频统计,并且输出排名前top k的词(top k默认值为20,k可自己定义)
代码以及运行结果: 在这里插入图片描述在这里插入图片描述
这些都是没有排除停用词的运行结果,但是实际的操作中我们不需要统计标点符号和“的”这些词,所有当我们分词计算词频的时候可以通过引用停用词表来去除这些词,从而更好地统计结果。
下面就是引用了停用词表的运行代码以及结果:
在这里插入图片描述在这里插入图片描述
6)在统计词频的时候也可以指定选择特定词性的词语的词频(比如说只统计名词或者动词):
代码以及运行结果:
在这里插入图片描述在这里插入图片描述
可以看到统计的结果中只有名词的词频。
7)接下来是关键词的抽取,这里提到关键词的抽取用到了两种方法,tf/idf以及textrank。
首先要import jieba.analyse

tf/idf:TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse Document Frequency)。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加。通俗来说就是出现的频率越高,该词也就越重要。
Textrank:如果一个单词出现在很多单词后面的话,那么说明这个单词比较重要;一个TextRank值很高的单词后面跟着的一个单词,那么这个单词的TextRank值会相应地因此而提高
而在jieba分词中,通过allow/allows语句来限定输出的词的词性,之后通过
keys = jieba.analyse.extract_tags(example, topK=10, allowPOS=allow)
来输出tf/idf方法抽取关键词的结果
完整代码以及运行结果:
在这里插入图片描述在这里插入图片描述

通过比较可以看出两种方法得到的结果并不一样。
2. ltp分词:
1) 首先是一些包的安装
Import pyltp
import os
from pyltp import Segmentor, SentenceSplitter, SementicRoleLabeller
from pyltp import Postagger
from pyltp import NamedEntityRecognizer
import re
2) ltp除了分词的功能外还可以实现分句的功能,并且它的词性标注功能比较细致,可以识别出命名实体(人名、地名、机构名等)
具体代码以及结果如下:
分句:在这里插入图片描述在这里插入图片描述

分词: 在这里插入图片描述在这里插入图片描述

词性标注:在这里插入图片描述在这里插入图片描述

这里的输出是先将分词结果输出,再输出词性标注结果,一一对应。
另外,利用ltp还可以做实体关系抽取:
在这里插入图片描述在这里插入图片描述

而这些S-NS之类的关系词可以通过ltp的官网进行查询。
接下来就是提取出文章/句子的关系,也就是句法分析,利用ltp提取的结果是以树的方式输出。
代码以及运行结果:
在这里插入图片描述在这里插入图片描述

  1. ir分词:首先import
    import pynlpir
    pynlpir.open()
    s = “最早的几何学兴起于公元前7世纪”
    ir分词主要用到三个标签:
    pynlpir.segment(s, pos_tagging=True, pos_names=‘parent’, pos_english=True)
    S: 句子
    pos_tagging:是否进行词性标注
    pos_names:显示词性的父类(parent)还是子类(child) 或者全部(all)
    pos_english:词性显示英语还是中文
    默认属性是进行词性标注、显示词性的父类、英文词性
    代码及运行结果对比:
    在这里插入图片描述在这里插入图片描述

利用ir还可以计算出所找出的关键词的权值(默认关键词数为50,可自己限定)
代码及运行结果:
在这里插入图片描述在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/9756.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信