赞
踩
想法:一直以来,我曾今想过,我们的出来的商业评论如何确定和判断他的情感因素?如何根据文本来将某条记录打上对应的标签,仅仅靠一个分类??
- 安装:https://pypi.org/project/snownlp/0.12.3/#files 下载完可安装
-
- 1.pip install snownlp==0.12.3
- 2.python setup.py install
-
- from snownlp import SnowNLP
- s = SnowNLP(u'曾经有一份真诚的爱情放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。如果非要在这份爱上加上一个期限,我希望是……一万年!')
- s.words
- print (s.words) #分词
- print (s.pinyin) #转拼音
- print (s.sentiments)#情感系数
- print (s.keywords(4))#关键词提取
- print (s.summary(3))#自动文摘
- print ("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
- print (s.sentences) #句子切分
-
-
-
- 案例:
- import pandas as pd
- from snownlp import sentiment
- from snownlp import SnowNLP # 情感分析包,可以自己建立对应的模型
-
- def type_class(text):
- if text > 0.8:
- text = '好评'
- elif text >0.5:
- text = '中评'
- else:
- text= "差评"
- return text
-
- #抓取的评论数或者内容进行打标签
- path = r"C:\Users\lihwa11\Desktop\2019-09-12\comment.xlsx"
- #读取内容
- df = pd.read_excel(path)
- #应用文本分析
- df['score'] = df['comment'].apply(lambda x: SnowNLP(x).sentiments)
- #根据评分,调用
- df['type'] = df['score'].apply(lambda x: type_class(x))
- df

- #从txt文档中读取评论
- with open("tbpl_test.txt",'r') as f:
- text = f.readlines()
- #print(text)
- data = []
- for i in text:
- pl = SnowNLP(i)
- score = pl.sentiments
- data.append([i,score])
-
- #把评论和得到的情感分数写入CSV文件夹中
- with open("sentiscore.csv","w",newline='') as file:
- writer = csv.writer(file)
- writer.writerow(['comment','sentiscore'])
- for k in data:
- writer.writerow(k)
-
-
- 时间字段处理
- 如果你文件里时间列的时间格式包含了日期和时间 如2017-06-04-14:13:00,则恭喜你pandas会自动识别时间格式。
- 假如你文件里时间列的时间格式只精确到日期 如2017-06-04,那么你将需要对该字符串进行特殊处理,也许你需要如下方法:
-
- from dateutil import parser
- df['date'] = df.date.apply(parse.parse)
-
-
-
-
- 或者
- paat = r"C:\Users\lihwa11\Desktop\2019-09-12\1.txt"
- #file = open(paat,encoding='gb18030',errors='ignore')
- file = open(paat,encoding='utf-8',errors='ignore')
- while True:
- line = file.readline()
- print(line)
- s = SnowNLP(lines.decode('utf-8'))
- print(s)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。