精华内容
下载资源
问答
  • jieba库

    2020-07-01 15:42:09
    安装jieba库 命令行模式下使用pip即可安装 jieba分词原理 jieba分词依靠中文词库 利用一个中文题库,确定汉字直接的关联概率 汉字间概率大的组成词组,形成分词结果 除了分词,用户还可以添加自定义的词组 jieba库...

    jieba 库

    在这里插入图片描述

    安装jieba库

    命令行模式下使用pip即可安装
    在这里插入图片描述

    jieba分词原理

    jieba分词依靠中文词库

    利用一个中文题库,确定汉字直接的关联概率

    汉字间概率大的组成词组,形成分词结果

    除了分词,用户还可以添加自定义的词组

    jieba库使用说明

    三种分词模式
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • jieba

    2019-04-01 10:37:00
    jieba库是python一个重要的第三方中文分词函数库,但需要用户自行安装。 一、jieba 库简介 (1) jieba库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率...

     

    jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装。

    一、jieba 库简介

     

    (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组;除此之外,jieba 库还提供了增加自定义中文单词的功能。

    (2) jieba 库支持3种分词模式:

    精确模式:将句子最精确地切开,适合文本分析。

    全模式:将句子中所以可以成词的词语都扫描出来,速度非常快,但是不能消除歧义。

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

    二、安装库函数

    (1) 在命令行下输入指令:

    pip install jieba

    (2) 安装进程:

     

     

    三、调用库函数

    (1) 导入库函数:import  <库名>

    使用库中函数:<库名> . <函数名> (<函数参数>)

     

    (2) 导入库函数:from  <库名>  import * ( *为通配符 )

    使用库中函数:<函数名> (<函数参数>)

    四、jieba 库函数

    (1) 库函数功能

    模式

    函数

    说明

    精确模式

    cut(s)

    返回一个可迭代数据类型

    lcut(s)

    返回一个列表类型 (建议使用)

    全模式

    cut(s,cut_all=True)

    输出s中所以可能的分词

    lcut(s,cut_all=True)

    返回一个列表类型 (建议使用)

    搜索引擎模式

    cut_for_search(s)

    适合搜索引擎建立索引的分词结果

    lcut_for_search(s)

    返回一个列表类型 (建议使用)

    自定义新词

    add_word(w)

    向分词词典中增加新词w

     

    (2) 函数使用实例

    五、对一篇文档进行词频统计

    (1) jieba 库单枪匹马

    A. 代码实现

    注:代码使用的文档 >>> Detective_Novel(utf-8).zip [点击下载],也可自行找 utf-8 编码格式的txt文件。

    复制代码
     1 # -*- coding:utf-8 -*-
     2 from jieba import *
     3 
     4 def Replace(text,old,new): #替换列表的字符串
     5     for char in old:
     6         text = text.replace(char,new)
     7     return text
     8 
     9 def getText(filename): #读取文件内容(utf-8 编码格式)
    10     #特殊符号和部分无意义的词
    11     sign = '''!~·@¥……*“”‘’\n(){}【】;:"'「,」。-、?'''
    12     txt = open('{}.txt'.format(filename),encoding='utf-8').read()
    13     return Replace(txt,sign," ")
    14 
    15 def word_count(passage,N): #计算passage文件中的词频数,并将前N个输出
    16     words = lcut(passage) #精确模式分词形式
    17     counts = {}             #创建计数器 --- 字典类型
    18     for word in words:      #消除同意义的词和遍历计数
    19         if word == '小五' or word == '小五郎' or word == '五郎':
    20             rword = '毛利'
    21         elif word == '柯' or word == '南':
    22             rword = '柯南'
    23         elif word == '小' or word == '兰':
    24             rword = '小兰'
    25         elif word == '目' or word == '暮' or word == '警官':
    26             rword = '暮目'
    27         else:
    28             rword = word
    29         counts[rword] = counts.get(rword,0) + 1
    30     excludes = lcut_for_search("你我事他和她在这也有什么的是就吧啊吗哦呢都了一个")
    31     for word in excludes:   #除去意义不大的词语
    32         del(counts[word])
    33     items = list(counts.items()) #转换成列表形式
    34     items.sort(key = lambda x : x[1], reverse = True ) #按次数排序
    35     for i in range(N):     #依次输出
    36         word,count = items[i]
    37         print("{:<7}{:>6}".format(word,count))
    38 
    39 if __name__ == '__main__':
    40     passage = getText('Detective_Novel')  #输入文件名称读入文件内容
    41     word_count(passage,20) #调用函数得到词频数
    复制代码

     

    B. 执行结果

     

    (2) jieba 库 和 wordcloud 库 强强联合 --- 词云图

    A. 代码实现

    复制代码
     1 # -*- coding:utf-8 -*-
     2 from wordcloud import WordCloud
     3 import matplotlib.pyplot as plt
     4 import numpy as np
     5 from PIL import Image
     6 from jieba import *
     7 
     8 def Replace(text,old,new): #替换列表的字符串
     9     for char in old:
    10         text = text.replace(char,new)
    11     return text
    12 
    13 def getText(filename): #读取文件内容(utf-8 编码格式)
    14     #特殊符号和部分无意义的词
    15     sign = '''!~·@¥……*“”‘’\n(){}【】;:"'「,」。-、?'''
    16     txt = open('{}.txt'.format(filename),encoding='utf-8').read()
    17     return Replace(txt,sign," ")
    18 
    19 def creat_word_cloud(filename): #将filename 文件的词语按出现次数输出为词云图
    20     text = getText(filename) #读取文件
    21     wordlist = lcut(text) #jieba库精确模式分词
    22     wl = ' '.join(wordlist) #生成新的字符串
    23 
    24     #设置词云图
    25     font = r'C:\Windows\Fonts\simfang.ttf' #设置字体路径
    26     wc = WordCloud(
    27         background_color = 'black', #背景颜色
    28         max_words = 2000,           #设置最大显示的词云数
    29         font_path = font,           #设置字体形式(在本机系统中)
    30         height = 1200,              #图片高度
    31         width = 1600,               #图片宽度
    32         max_font_size = 100,        #字体最大值
    33         random_state = 100,         #配色方案的种类
    34         )
    35     myword = wc.generate(wl) #生成词云
    36     #展示词云图
    37     plt.imshow(myword)
    38     plt.axis('off')
    39     plt.show()
    40     #以原本的filename命名保存词云图
    41     wc.to_file('{}.png'.format(filename))
    42 
    43 if __name__ == '__main__':
    44     creat_word_cloud('Detective_Novel') #输入文件名生成词云图
    复制代码

     

    B. 执行结果

    转载于:https://www.cnblogs.com/abing123/p/10635013.html

    展开全文
  • NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分) 输出结果 1、测试对象 data1= '今天上海的天气真好!我的心情非常高兴!如果去旅游的话我会非常兴奋!和你一起去旅游我会更加...

    NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)

     

     

     

     

    目录

    输出结果

    设计思路

    相关资料

    1、关于代码

    2、关于数据集

    关于留言

    1、留言内容的注意事项

    2、如何留言?

    2.1、第一种方法——在对应的博客下留言

    2.2、备用第二种方法——论坛发帖

    后续补充发放资料的说明

    主要部分代码实现


     

     

    输出结果

    1、测试对象
    data1= '今天上海的天气真好!我的心情非常高兴!如果去旅游的话我会非常兴奋!和你一起去旅游我会更加幸福!'
    data2= '今天上海天气真差,非常讨厌下雨,把我冻坏了,心情太不高兴了,不高兴,我真的很生气!'
    data3= '美国华裔科学家,祖籍江苏扬州市高邮县,生于上海,斯坦福大学物理系,电子工程系和应用物理系终身教授!'

    2、输出结果
    很明显,data1情感更加积极!data2情感消极!data3情感中等!

    [[240.0, 104.0, 8.3, 3.6, 8.0, 2.4]]
    [[0.0, 134.0, 0.0, 4.8, 0.0, 3.2]]
    [[2, 66, 0.1, 3.3, 0.4, 1.7]]
    [[2, 2, 0.1, 0.1, 0.4, 0.4]]

     

    设计思路

    后期更新……

     

     

    相关资料

    1、关于代码

    NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码
     

    2、关于数据集

    如需数据集,请留言向博主索取。
    :当前为学生身份的网友,可留言向博主索取。非学生身份的社会人士,请靠积分下载!

     

     

    关于留言

    1、留言内容的注意事项

    • 1、请新增评论,不要直接回复,折叠后,我容易看不到,会漏掉。
    • 2、请在前缀加一个索取资料的当天日期。
    • 3、切记要留下邮箱!!!

    比如留言:“20200307,早上10.11,你好,博主,我的邮箱是,我想索取……”

     


    2、如何留言?

    2.1、第一种方法——在对应的博客下留言

    即在本博客下直接留言即可!

     

    2.2、备用第二种方法——论坛发帖

    在我的论坛中发帖即可,我会及时回复。
    地址:https://bbs.csdn.net/topics/395531480

     

     

    后续补充发放资料的说明

    此类网友,太伤人心,这位网友,一定不是大学生,当代大学生的素质肯定比这位网友高的多。

     

    主要部分代码实现

    import jieba
    import numpy as np
    
    ……
    
    
    def sentiment_score_list(dataset):
        seg_sentence = dataset.split('。')
    
        count1 = []
        count2 = []
        for sen in seg_sentence: #循环遍历每一个评论
            segtmp = jieba.lcut(sen, cut_all=False)  #把句子进行分词,以列表的形式返回
            i = 0 #记录扫描到的词的位置
            a = 0 #记录情感词的位置
            poscount = 0 #积极词的第一次分值
            poscount2 = 0 #积极词反转后的分值
            poscount3 = 0 #积极词的最后分值(包括叹号的分值)
            negcount = 0
            negcount2 = 0
            negcount3 = 0
            for word in segtmp:
                if word in posdict:  # 判断词语是否是情感词
                    poscount += 1
                    c = 0
                    for w in segtmp[a:i]:  # 扫描情感词前的程度词
                        if w in mostdict:
                            poscount *= 4.0
                        elif w in verydict:
                            poscount *= 3.0
                        elif w in moredict:
                            poscount *= 2.0
                        elif w in ishdict:
                            poscount *= 0.5
                        elif w in deny_word:
                            c += 1
                    if judgeodd(c) == 'odd':  # 扫描情感词前的否定词数
                        poscount *= -1.0
                        poscount2 += poscount
                        poscount = 0
                        poscount3 = poscount + poscount2 + poscount3
                        poscount2 = 0
                    else:
                        poscount3 = poscount + poscount2 + poscount3
                        poscount = 0
                    a = i + 1  # 情感词的位置变化
    
                elif word in negdict:  # 消极情感的分析,与上面一致
                    negcount += 1
                    d = 0
                    for w in segtmp[a:i]:
                        if w in mostdict:
                            negcount *= 4.0
                        elif w in verydict:
                            negcount *= 3.0
                        elif w in moredict:
                            negcount *= 2.0
                        elif w in ishdict:
                            negcount *= 0.5
                        elif w in degree_word:
                            d += 1
                    if judgeodd(d) == 'odd':
                        negcount *= -1.0
                        negcount2 += negcount
                        negcount = 0
                        negcount3 = negcount + negcount2 + negcount3
                        negcount2 = 0
                    else:
                        negcount3 = negcount + negcount2 + negcount3
                        negcount = 0
                    a = i + 1
                elif word == '!' or word == '!':  ##判断句子是否有感叹号
                    for w2 in segtmp[::-1]:  # 扫描感叹号前的情感词,发现后权值+2,然后退出循环
                        if w2 in posdict or negdict:
                            poscount3 += 2
                            negcount3 += 2
                            break
                i += 1 # 扫描词位置前移
    
    
                # 以下是防止出现负数的情况
                pos_count = 0
                neg_count = 0
                if poscount3 < 0 and negcount3 > 0:
                    neg_count += negcount3 - poscount3
                    pos_count = 0
                elif negcount3 < 0 and poscount3 > 0:
                    pos_count = poscount3 - negcount3
                    neg_count = 0
                elif poscount3 < 0 and negcount3 < 0:
                    neg_count = -poscount3
                    pos_count = -negcount3
                else:
                    pos_count = poscount3
                    neg_count = negcount3
    
                count1.append([pos_count, neg_count])
            count2.append(count1)
            count1 = []
    
        return count2
    
    def sentiment_score(senti_score_list):
        score = []
        for review in senti_score_list:
            score_array = np.array(review)
            Pos = np.sum(score_array[:, 0])
            Neg = np.sum(score_array[:, 1])
            AvgPos = np.mean(score_array[:, 0])
            AvgPos = float('%.1f'%AvgPos)
            AvgNeg = np.mean(score_array[:, 1])
            AvgNeg = float('%.1f'%AvgNeg)
            StdPos = np.std(score_array[:, 0])
            StdPos = float('%.1f'%StdPos)
            StdNeg = np.std(score_array[:, 1])
            StdNeg = float('%.1f'%StdNeg)
            score.append([Pos, Neg, AvgPos, AvgNeg, StdPos, StdNeg])
        return score
    
    
    
    data1= '今天上海的天气真好!我的心情非常高兴!如果去旅游的话我会非常兴奋!和你一起去旅游我会更加幸福!'
    data2= '今天上海天气真差,非常讨厌下雨,把我冻坏了,心情太不高兴了,不高兴,我真的很生气!'
    data3= '美国华裔科学家,祖籍江苏扬州市高邮县,生于上海,斯坦福大学物理系,电子工程系和应用物理系终身教授!'
    print(sentiment_score(sentiment_score_list(data1)))
    print(sentiment_score(sentiment_score_list(data2)))
    print(sentiment_score(sentiment_score_list(data3)))

     

    展开全文
  • jieba库,它是Python中一个重要的第三方中文分词函数库。1.jieba的下载由于jieba是一个第三方函数库,所以需要另外下载。电脑搜索“cmd”打开“命令提示符”,然后输入“pip install jieba”,稍微等等就下载成功。...

    jieba库,它是Python中一个重要的第三方中文分词函数库。

    1.jieba的下载

    由于jieba是一个第三方函数库,所以需要另外下载。电脑搜索“cmd”打开“命令提示符”,然后输入“pip install jieba”,稍微等等就下载成功。

    (注:可能有些pip版本低,不能下载jieba库,需要手动升级pip至19.0.3的版本,在安装jieba库)

    当你再次输入“pip install jieba”,显示如图,jieba库就下载成功。

    1622500-20190406205636122-1022860539.png

    2.jieba库的3种分词模式

    精确模式:将句子最精确地切开,适合文本分析。

    例:

    1622500-20190406215835707-2138054594.png

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

    例:(“国是”,黑人问号)

    1622500-20190406220928330-999024190.png

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

    例:(没什么不同,可能我还没发现它的用处)

    1622500-20190406221608264-160382315.png

    3.jieba应用

    我选取了哈姆雷特(https://en.wikipedia.org/wiki/Hamlet#Act_I)的一小片段,txt形式存放在我的一个文件夹里,对它进行分词,输入代码:

    defget_text():

    txt= open("D://加油鸭~//hamlet.txt", "r",encoding='UTF-8').read()

    txt=txt.lower()for ch in '!"#$%&()*+,-./:;<=>?@[\]^_"{|}~':

    txt= txt.replace(ch, " ") #将文本中特殊字符替换为空格

    returntxt

    hamletTxt= get_text() #打开并读取文件

    words = hamletTxt.split() #对字符串进行分割,获得单词列表

    counts ={}for word inwords:if len(word) == 1:continue

    else:

    counts[word]= counts.get(word, 0) + 1 #分词计算

    items=list(counts.items())

    items.sort(key=lambda x: x[1], reverse=True)for i in range(10):

    word, count=items[i]print("{0:<10}{1:>5}".format(word,count))

    得到结果,如图:

    1622500-20190406222601110-1648681566.png

    最后,我们还可以做词云图,这个呢我下次再给大家分享吧,再见~

    展开全文
  • jieba库作为python中的第三方库,在平时是非常实用的,例如一些网站就是利用jieba库的中文分词搜索关键词进行工作。一、安装环境window + python二、安装方式在电脑命令符(cmd)中直接写进下面的语句:pip install ...
  • jieba库 | Mac Python IDLE环境 | pip安装jieba库的方法 ** pip install jieba -i https://pypi.douban.com/simple/ 在终端输入以上命令,等待下载。 这个链接比较稳定,且不是安装在终端(系统自带的3.7环境下的) ...
  • jieba库的安装与使用

    万次阅读 多人点赞 2020-01-30 19:42:26
    jieba库jieba库的安装jieba库的基本介绍jieba库的使用 jieba库的安装 (cmd命令行) pip install jieba jieba库的基本介绍 (1)jieba库概述 jieba库是优秀的中文分词第三方库。 中文文本需要通过分词获得...
  • Python入门:jieba库的使用

    万次阅读 多人点赞 2018-05-17 21:20:12
    jieba 是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。 精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析 全模式:...
  • 环境: Python3.6 + windows10 jieba介绍以及分词的原理 1. jieba 是Python中的优秀的中文分词第三方库  --中文文本需要通过分词...3.jieba库的安装  只需要在cmd 中, pip install jieba  4.. jieba分...
  • 1、jieba库基本介绍 (1)、jieba库概述 jieba是优秀的中文分词第三方库 – 中文文本需要通过分词获得单个的词语 – jieba是优秀的中文分词第三方库,需要额外安装 – jieba库提供三种分词模式,最简单只需掌握一...
  • 运用jieba库分词

    千次阅读 2019-04-04 22:40:00
    运用jieba库分词   一、jieba库基本介绍 1、jieba库概述 jieba是优秀的中文分词第三方库 -中文文本需要通过分词获得单个的词语 -jieba是优秀的中文分词第三方库,需要额外安装 -jieba库提供三种分词模式,...
  • python jieba库的使用

    2020-08-19 23:09:18
    jieba库的使用 jieba库是python中一个重要的第三方中文分词函数库。 我们pycharm是没有安装jieba库的,因此需要我们手动安装jieba库
  • python的jieba库

    千次阅读 2019-02-09 18:59:52
    jieba库 1.jieba库安装 命令行输入 pip install jieba   2. jieba分词的原理 利用一个中文词库,确定汉子之间的关系概率 汉字间概率大的组成词组,形成分词结果 除了分词,用户还可以添加自定义的词组 ...
  • Anaconda安装jieba库

    2020-03-02 23:10:20
    在学习过程中需要使用到jieba库,但在Anaconda内置的packages中并没有找到第三方jieba库,下面为手动安装jieba库的过程。 所用到的工具: 操作系统: window 10 Anaconda: 3-5.0.0-Windows-x86_64 ...
  • 笔记目录一, 前言二,jieba库的基本介绍1,jieba库概述2,jieba库的安装3,jieba库的分词原理三,jieba库的使用说明1,jieba库分词的三种模式2,jieba库的使用函数3,jieba库分词要点四,总结 一, 前言 二,jieba...
  • 下载jieba

    万次阅读 2019-02-15 15:28:13
    步骤: 1.打开命令行 2.联网 3.在 C:\Users\User&gt; 后面加语句 pip install jieba 形成 C:\Users\User&...pip install jieba 然后按回车,然后就开始安装 ...PS 由于我们用pip来安装的jieba库嘛...
  • jieba库的使用

    2020-03-01 19:11:47
    1. jieba库概述 jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库,需要额外安装 jieba库提供三种分词模式,最简单只需掌握一个函数 2. jieba库的安装 (cmd...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,514
精华内容 1,005
关键字:

jieba库