精华内容
下载资源
问答
  • SnowNLP
    2018-11-16 15:48:00
    from snownlp import SnowNLP
    text='宝贝自拍很帅!!!注意休息~'

    s=SnowNLP(text)

    #分词
    print(s.words)

    #词性
    for tag in s.tags:
    print(tag)

    #情感度,积极的概率
    print(s.sentiments)

    #关键词
    print(s.keywords(10))
    print(s.tf)
    print(s.idf)


    转载于:https://www.cnblogs.com/hapyygril/p/9969745.html

    更多相关内容
  • 解压到本地,在setup.py界面shift 右键打开cmd python setup.py install 进行安装 from snownlp import SnowNLP 导入包 s=SnowNLP('东西太差了') print(s.sentiments)
  • 这是《Python数据挖掘课程》系列文章,前面很多文章都讲解了分类、聚类算法,而这篇文章主要讲解如何调用SnowNLP库实现情感分析,处理的对象是豆瓣《肖申克救赎》的评论文本。文章比较基础,希望对你有所帮助,提供...
  • 昨晚上发现了snownlp这个库,很开心。先说说我开心的原因。我本科毕业设计做的是文本挖掘,用R语言做的,发现R语言对文本处理特别不友好,没有很多强大的库,特别是针对中文文本的,加上那时候还没有学机器学习算法...
  • SnowNLP: Simplified Chinese Text Processing SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的...
  • 一个基于SnowNLP的新浪微博评论情感分析工具.zip 大学生课程设计 基于python的课程设计 自己大二写的课程设计
  • python snownlp-0.12.3.tar.gz

    2017-06-07 21:35:35
    python snownlp-0.12.3.tar.gz
  • 内含SnowNLP中文情感分析+可视化分析源代码及旅游评论的positive、negative训练文本,方便有相关需求的小伙伴
  • 下面小编就为大家带来一篇python snownlp情感分析简易demo(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 基于Python-Snownlp的新闻评论数据分析.pdf
  • SnowNlp

    2019-07-10 19:06:34
    from snownlp import SnowNLP text='质量还行吧!领的优惠劵买的,就是觉得挺划算的才买的,想再买一件没优惠劵了!如果是女生穿个子不是特别高买了肯定会觉得大了,他们家的款就是适合男生穿的,女生穿大部分人...
    from snownlp import SnowNLP
    
    text='质量还行吧!领的优惠劵买的,就是觉得挺划算的才买的,想再买一件没优惠劵了!如果是女生穿个子不是特别高买了肯定会觉得大了,他们家的款就是适合男生穿的,女生穿大部分人觉得长了,袖子也长的,这个价钱挺值得!'
    
    s=SnowNLP(text)
    
    for i in s.sentences:
        sco=SnowNLP(i)
        res=s.sentiments
        print(i)
        print(res)
    
    质量还行吧
    0.8876770352373012
    领的优惠劵买的
    0.8876770352373012
    就是觉得挺划算的才买的
    0.8876770352373012
    想再买一件没优惠劵了
    0.8876770352373012
    如果是女生穿个子不是特别高买了肯定会觉得大了
    0.8876770352373012
    他们家的款就是适合男生穿的
    0.8876770352373012
    女生穿大部分人觉得长了
    0.8876770352373012
    袖子也长的
    0.8876770352373012
    这个价钱挺值得
    0.8876770352373012
    
    
    
    展开全文
  • snownlp入门

    千次阅读 2021-01-30 08:48:04
    昨晚上发现了snownlp这个库,很开心。先说说我开心的原因。我本科毕业设计做的是文本挖掘,用R语言做的,发现R语言对文本处理特别不友好,没有很多强大的库,特别是针对中文文本的,加上那时候还没有学机器学习算法...

    昨晚上发现了snownlp这个库,很开心。先说说我开心的原因。我本科毕业设计做的是文本挖掘,用R语言做的,发现R语言对文本处理特别不友好,没有很多强大的库,特别是针对中文文本的,加上那时候还没有学机器学习算法。所以很头疼,后来不得已用了一个可视化的软件RostCM,但是一般可视化软件最大的缺点是无法调参,很死板,准确率并不高。现在研一,机器学习算法学完以后,又想起来要继续学习文本挖掘了。所以前半个月开始了用python进行文本挖掘的学习,很多人都推荐我从《python自然语言处理》这本书入门,学习了半个月以后,可能本科毕业设计的时候有些基础了,再看这个感觉没太多进步,并且这里通篇将nltk库进行英文文本挖掘的,英文文本挖掘跟中文是有很大差别的,或者说学完英文文本挖掘,再做中文的,也是完全懵逼的。所以我停了下来,觉得太没效率了。然后我在网上查找关于python如何进行中文文本挖掘的文章,最后找到了snownlp这个库,这个库是国人自己开发的python类库,专门针对中文文本进行挖掘,里面已经有了算法,需要自己调用函数,根据不同的文本构建语料库就可以,真的太方便了。我只介绍一下这个库具体应用,不介绍其中的有关算法原理,因为算法原理可以自己去学习。因为我在学习这个库的时候,我查了很多资料发现很少或者基本没有写这个库的实例应用,很多都是转载官网对这个库的简介,所以我记录一下我今天的学习。

    首先简单介绍一下这个库可以进行哪些文本挖掘。snownlp主要可以进行中文分词(算法是Character-Based Generative Model)、词性标注(原理是TnT、3-gram 隐马)、情感分析(官网木有介绍原理,但是指明购物类的评论的准确率较高,其实是因为它的语料库主要是购物方面的,可以自己构建相关领域语料库,替换原来的,准确率也挺不错的)、文本分类(原理是朴素贝叶斯)、转换拼音、繁体转简体、提取文本关键词(原理是TextRank)、提取摘要(原理是TextRank)、分割句子、文本相似(原理是BM25)。官网还有更多关于该库的介绍,在看我这个文章之前,建议先看一下官网,里面有最基础的一些命令的介绍。官网链接:https://pypi.python.org/pypi/snownlp/0.11.1。

    下面正式介绍实例应用。主要是中文文本的情感分析,我今天从京东网站采集了249条关于笔记本的评论文本作为练习数据,由于我只是想练习一下,没采集更多。然后人工标注每条评论的情感正负性,情感正负性就是指该条评论代表了评论者的何种态度,是褒义还是贬义。以下是样例:

    5542a38710d23a95e891662672abdad5.png

    其中-1表示贬义,1表示褒义。由于snownlp全部是unicode编码,所以要注意数据是否为unicode编码。因为是unicode编码,所以不需要去除中文文本里面含有的英文,因为都会被转码成统一的编码(补充一下,关于编码问题,我还是不特别清楚,所以这里不多讲,还请对这方面比较熟悉的伙伴多多指教)。软件本身默认的是Ascii编码,所以第一步先设置软件的默认编码为utf-8,代码如下:

    1、改变软件默认编码

    import sys

    reload(sys)

    sys.setdefaultencoding('utf-8')

    2、然后准备数据

    import pandas as pd #加载pandas

    text=pd.read_excel(u'F:/自然语言处理/评论文本.xlsx',header=0) #读取文本数据

    text0=text.iloc[:,0] #提取所有数据

    text1=[i.decode('utf-8') for i in text0] #上一步提取数据不是字符而是object,所以在这一步进行转码为字符

    3、训练语料库

    from snownlp import sentiment #加载情感分析模块

    sentiment.train('E:/Anaconda2/Lib/site-packages/snownlp/sentiment/neg.txt', 'E:/Anaconda2/Lib/site-packages/snownlp/sentiment/pos.txt') #对语料库进行训练,把路径改成相应的位置。我这次练习并没有构建语料库,用了默认的,所以把路径写到了sentiment模块下。

    sentiment.save('D:/pyscript/sentiment.marshal')#这一步是对上一步的训练结果进行保存,如果以后语料库没有改变,下次不用再进行训练,直接使用就可以了,所以一定要保存,保存位置可以自己决定,但是要把`snownlp/seg/__init__.py`里的`data_path`也改成你保存的位置,不然下次使用还是默认的。

    4、进行预测

    from snownlp import SnowNLP

    senti=[SnowNLP(i).sentiments for i in text1] #遍历每条评论进行预测

    5、进行验证准确率

    预测结果为positive的概率,positive的概率大于等于0.6,我认为可以判断为积极情感,小于0.6的判断为消极情感。所以以下将概率大于等于0.6的评论标签赋为1,小于0.6的评论标签赋为-1,方便后面与实际标签进行比较。

    newsenti=[]

    for i in senti:

    if (i>=0.6):

    newsenti.append(1)

    else:

    newsenti.append(-1)

    text['predict']=newsenti #将新的预测标签增加为text的某一列,所以现在text的第0列为评论文本,第1列为实际标签,第2列为预测标签

    counts=0

    for j in range(len(text.iloc[:,0])): #遍历所有标签,将预测标签和实际标签进行比较,相同则判断正确。

    if text.iloc[j,2]==text.iloc[j,1]:

    counts+=1

    print u"准确率为:%f"%(float(counts)/float(len(text)))#输出本次预测的准确率

    运行结果为:

    13a589a07d0a6a9b08a4ead10f84ad85.png

    准确率还可以,但还不算高,原因是我考虑时间原因,并且我只是练习一下,所以没有自己构建该领域的语料库,如果构建了相关语料库,替换默认语料库,准确率会高很多。所以语料库是非常关键的,如果要正式进行文本挖掘,建议要构建自己的语料库。在没有构建新的语料库的情况下,这个83.9357%的准确率还是不错了。

    以上是我这次的学习笔记,和大家分享一下,有不足之处请大家批评指正。我还是一个刚涉世数据挖掘、机器学习、文本挖掘领域不久的小白,有许多知识还是比较模糊,但对这数据挖掘很感兴趣。希望能多结识这方面的朋友,共同学习、共同进步。

    转自:博客

    展开全文
  • 自然语言处理snowNLP

    2018-07-31 09:42:35
    snowNLP可以进行分词,断句,自动摘要提取,预测,等。。。。。。。。。。。。。。。。。。。。。。
  • 最近适用了这五款分词工具,光是下载安装就踩了很多坑,特别是pyltp和hanlp,装到我怀疑人生。 以下是整理的安装过程和注意事项。 希望能给大家提供些帮助。 目录一、Nlpir第一步:下载工具。第二步:下载后,解压,...
  • 一、SnowNLP是什么 官方源码文档是这样写的:SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理...

    一、SnowNLP是什么
    官方源码文档是这样写的:

    SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。

    简而言之就是:SnowNLP是一个Python写的类库,而且是针对中文的自然语言处理库。

    主要功能有:

    中文分词(Character-Based Generative Model)
    词性标注(TnT 3-gram 隐马)
    情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)
    文本分类(Naive Bayes)
    转换成拼音(Trie树实现的最大匹配)
    繁体转简体(Trie树实现的最大匹配)
    提取文本关键词(TextRank算法)
    提取文本摘要(TextRank算法)
    tf,idf
    Tokenization(分割成句子)
    文本相似(BM25)
    支持python3
    二、如何下载
    SnowNLP已经加到了开源源码库中,所以可以直接用install的方式下载。

    pip install snownlp
    (用pip3的可以用:pip3 install snownlp)
    下载好的源码包视图:

    三、如何使用
    这里仅针对SnowNLP的主要功能例举几个简单的实例,仅供参考。

    1、中文分词
    from snownlp import SnowNLP

    中文分词

    text = ‘希望本无所谓有,也无所谓无,这就像地上的路,其实地上本没有路,走的人多了,也便成了路。’
    s = SnowNLP(text)
    print(s.words)
    结果:

    [‘希望’, ‘本’, ‘无所谓’, ‘有’, ‘,’, ‘也’, ‘无所谓’, ‘无’, ‘,’, ‘这’, ‘就’, ‘像地’, ‘上’, ‘的’, ‘路’, ‘,’, ‘其实地’, ‘上本’, ‘没有’, ‘路’, ‘,’, ‘走’, ‘的’, ‘人’, ‘多’, ‘了’, ‘,’, ‘也’, ‘便’, ‘成’, ‘了’, ‘路’, ‘。’]
    这个例子也暴露了SnowNLP分词方面的局限性,SnowNLP的分词是基于共19484行句子作为语料库来训练分词的,这些句子可能来自不同的几个方向,但不太全面,所以在某些词语的分解上有缺陷。个人感觉SnowNLP的分词没有jieba分词和HanLP分词好用,jieba分词功能更多,个人倾向于jieba的分词。

    2、词性标注
    from snownlp import SnowNLP

    词性标注

    text = ‘哪里有天才,我是把别人喝咖啡的工夫都用在了工作上了。’
    s = SnowNLP(text)
    print(list(s.tags))
    结果:

    [(‘哪里’, ‘r’), (‘有’, ‘v’), (‘天才’, ‘n’), (‘,’, ‘w’), (‘我’, ‘r’), (‘是’, ‘v’), (‘把’, ‘p’), (‘别人’, ‘r’), (‘喝’, ‘v’), (‘咖啡’, ‘n’), (‘的’, ‘u’), (‘工夫’, ‘n’), (‘都’, ‘d’), (‘用’, ‘v’), (‘在’, ‘p’), (‘了’, ‘u’), (‘工作’, ‘vn’), (‘上’, ‘f’), (‘了’, ‘u’), (‘。’, ‘w’)]
    3、情感分析
    from snownlp import SnowNLP

    情感分析

    text1 = ‘这是我遇见的最棒的一家店,种类多,价格低,更喜欢的是服务质量很好’
    text2 = ‘这是我遇到的最差的一家店,种类少,价格贵,更气人的是服务质量很差’
    s1 = SnowNLP(text1)
    s2 = SnowNLP(text2)
    print(s1.sentiments)
    print(s2.sentiments)
    结果:

    0.99509716108733
    0.0033869983750457466
    情感分析的结果是一个小数,越接近1,说明越偏向积极;越接近0,说明越偏向消极。

    SnowNLP的情感分析是基于自带的两个积极跟消极的语料文件来进行分析的(neg.txt、pos.txt)。这两个语料文件是某平台的评论留言,主要有关于书本的、酒店的、电脑及配件的几个方向的评价留言。由于语料文件比较片面,而且其中有些语句意向不准确,导致情感分析在某些场合中效果并不明显,推荐训练自己的语料文件。具体方法请看后面详细讲解的SnowNLP情感分析模块。

    4、转换成拼音
    from snownlp import SnowNLP

    转换成拼音

    text = ‘哪里有天才,我是把别人喝咖啡的工夫都用在了工作上了。’
    s = SnowNLP(text)
    print(s.pinyin)
    结果:

    [‘na’, ‘li’, ‘you’, ‘tian’, ‘cai’, ‘,’, ‘wo’, ‘shi’, ‘ba’, ‘bie’, ‘ren’, ‘he’, ‘ka’, ‘fei’, ‘de’, ‘gong’, ‘fu’, ‘dou’, ‘yong’, ‘zai’, ‘liao’, ‘gong’, ‘zuo’, ‘shang’, ‘liao’, ‘。’]
    5、繁体转简体
    from snownlp import SnowNLP

    繁体转简体

    text = ‘希望本無所謂有,也無所謂無,這就像地上的路,其實地上本沒有路,走的人多了,也便成了路。’
    s = SnowNLP(text)
    print(s.han)
    结果:

    希望本无所谓有,也无所谓无,这就像地上的路,其实地上本没有路,走的人多了,也便成了路。
    6、提取文本关键词
    原理请查看博客:SnowNLP——获取关键词(keywords(1))

    from snownlp import SnowNLP

    提取文本关键词,总结3个关键词

    text = ‘随着顶层设计完成,全国政协按下信息化建设快进键:建设开通全国政协委员移动履职平台,开设主题议政群、全国政协书院等栏目,建设委员履职数据库,拓展网上委员履职综合服务功能;建成网络议政远程协商视频会议系统,开展视频调研、远程讨论活动,增强网络议政远程协商实效;建立修订多项信息化规章制度,优化电子政务网络。’
    s = SnowNLP(text)
    print(s.keywords(3))
    结果:

    [‘全国’, ‘政协’, ‘远程’]
    7、提取文本摘要
    from snownlp import SnowNLP

    提取文本摘要

    text = ‘随着顶层设计完成,全国政协按下信息化建设快进键:建设开通全国政协委员移动履职平台,开设主题议政群、全国政协书院等栏目,建设委员履职数据库,拓展网上委员履职综合服务功能;建成网络议政远程协商视频会议系统,开展视频调研、远程讨论活动,增强网络议政远程协商实效;建立修订多项信息化规章制度,优化电子政务网络。’
    s = SnowNLP(text)
    print(s.summary(2))# 总结两条摘要
    结果:

    [‘全国政协按下信息化建设快进键:建设开通全国政协委员移动履职平台’, ‘建成网络议政远程协商视频会议系统’]
    8、tf,idf
    来百度一下是什么意思:TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。

    from snownlp import SnowNLP

    tf,idf

    “”"
    TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
    TF词频越大越重要,但是文中会的“的”,“你”等无意义词频很大,却信息量几乎为0,这种情况导致单纯看词频评价词语重要性是不准确的。因此加入了idf
    IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t越重要
    TF-IDF综合起来,才能准确的综合的评价一词对文本的重要性。
    “”"

    text = [
    [‘性格’, ‘善良’],
    [‘温柔’, ‘善良’, ‘善良’],
    [‘温柔’, ‘善良’],
    [‘好人’],
    [‘性格’, ‘善良’],
    ]
    s = SnowNLP(text)
    print(s.tf)
    print(s.idf)
    结果:

    [{‘性格’: 1, ‘善良’: 1}, {‘温柔’: 1, ‘善良’: 2}, {‘温柔’: 1, ‘善良’: 1}, {‘好人’: 1}, {‘性格’: 1, ‘善良’: 1}]
    {‘性格’: 0.33647223662121295, ‘善良’: -1.0986122886681098, ‘温柔’: 0.33647223662121295, ‘好人’: 1.0986122886681098}
    9、Tokenization
    from snownlp import SnowNLP

    Tokenization(分割句子)

    text = ‘希望本无所谓有,也无所谓无,这就像地上的路;其实地上本没有路;走的人多了!也便成了路。’
    s = SnowNLP(text)
    print(s.sentences)
    结果:

    [‘希望本无所谓有’, ‘也无所谓无,这就像地上的路’, ‘其实地上本没有路;走的人多了’, ‘也便成了路’]
    注意:返回的结果是一个list,sentences是利用非英文语句分割符号来将语句分割开。就是只以中文逗号、中文分号、中文句号、中文感叹号、中文问号为分割符将语句分割开。

    10、文本相似
    from snownlp import SnowNLP

    文本相似度(BM25)

    s = SnowNLP([[‘机器学习’, ‘人工智能’],
    [‘深度学习’, ‘自然语言处理’],
    [‘数据挖掘’]])
    artilc1 = [‘自然语言处理’]
    print(s.sim(artilc1))
    结果:

    [0, 0.4686473612532025, 0]

    展开全文
  • 一、snownlp简介 snownlp是什么? SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库...
  • 情感分析snownlp包部分核心代码理解

    千次阅读 2021-01-17 02:48:12
    snownlps是用Python写的个中文情感分析的包,自带了中文正负情感的训练集,主要是评论的语料库。使用的是朴素贝叶斯原理来训练和预测数据。主要看了一下这个包的几个主要的核心代码,看的过程作了一些注释,记录一下...
  • SnowNLP

    2019-08-04 12:39:54
    snowNLP介绍 SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同...
  • SNOWNLP情感分析报错解决

    千次阅读 2022-04-20 10:30:19
    SNOWNLP情感分析及报错解决
  • Python文本分析(NLTK,jieba,snownlp

    千次阅读 2022-03-15 10:49:09
    文章目录 文本分词 词干提取 词性还原 词袋模型 词频统计 情感分析 jieba中文分词 对《我的大明新帝国》这本电子书进行词频统计 snownlp库 安装NLTK库 pip install NLTK 安装语料库 NLTK语料库 这个链接有效期是...
  • snownlp情感分析

    2022-06-29 11:38:59
    snownlp情感分析
  • from snownlp import sentiment s = SnowNLP(u"今天我很快乐。你怎么样呀?"); print("[sentiments]",s.sentiments); #情感性分析 sentiment.train(neg1.txt,pos1.txt); # 训练用户提供...
  • 使用snownlp进行情感分析

    千次阅读 2021-03-07 03:31:07
    昨晚上发现了snownlp这个库,很开心。首先简单介绍一下这个库可以进行哪些文本挖掘。snownlp主要可以进行中文分词(算法是Character-Based Generative Model)、词性标注(原理是TnT、3-gram 隐马)、情感分析(官网木有...
  • SnowNLP是国人开发的python类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里...
  • NLP - snownlp

    2021-04-09 09:33:23
    文章目录关于 snownlp安装主要功能基本使用繁体转简体关键词提取tf-idf训练snowNLP的情感判断过程 关于 snownlp 源码:https://github.com/isnowfy/snownlp https://pypi.org/project/snownlp/ 安装 (base) $ sudo...
  • 这是《Python数据挖掘课程》系列文章,前面很多文章都讲解了分类、聚类算法,而这篇文章主要讲解如何调用SnowNLP库实现情感分析,处理的对象是豆瓣《肖申克救赎》的评论文本。文章比较基础,希望对你有所帮助,提供...

空空如也

空空如也

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

SnowNLP