当前位置:   article > 正文

python文本情感分析:SnowNLP的应用---案例_snownlp(x).sentiments

snownlp(x).sentiments

想法:一直以来,我曾今想过,我们的出来的商业评论如何确定和判断他的情感因素?如何根据文本来将某条记录打上对应的标签,仅仅靠一个分类??

  1. 安装:https://pypi.org/project/snownlp/0.12.3/#files 下载完可安装
  2. 1.pip install snownlp==0.12.3
  3. 2.python setup.py install
  4. from snownlp import SnowNLP
  5. s = SnowNLP(u'曾经有一份真诚的爱情放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。如果非要在这份爱上加上一个期限,我希望是……一万年!')
  6. s.words
  7. print (s.words) #分词
  8. print (s.pinyin) #转拼音
  9. print (s.sentiments)#情感系数
  10. print (s.keywords(4))#关键词提取
  11. print (s.summary(3))#自动文摘
  12. print ("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
  13. print (s.sentences) #句子切分
  14. 案例:
  15. import pandas as pd
  16. from snownlp import sentiment
  17. from snownlp import SnowNLP # 情感分析包,可以自己建立对应的模型
  18. def type_class(text):
  19. if text > 0.8:
  20. text = '好评'
  21. elif text >0.5:
  22. text = '中评'
  23. else:
  24. text= "差评"
  25. return text
  26. #抓取的评论数或者内容进行打标签
  27. path = r"C:\Users\lihwa11\Desktop\2019-09-12\comment.xlsx"
  28. #读取内容
  29. df = pd.read_excel(path)
  30. #应用文本分析
  31. df['score'] = df['comment'].apply(lambda x: SnowNLP(x).sentiments)
  32. #根据评分,调用
  33. df['type'] = df['score'].apply(lambda x: type_class(x))
  34. df

 

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

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号