>  기사  >  백엔드 개발  >  Python에서 snownlp 감정 분석의 간단한 데모 공유

Python에서 snownlp 감정 분석의 간단한 데모 공유

黄舟
黄舟원래의
2017-06-04 10:08:202909검색

아래 편집기는 python snownlp 감정 분석에 대한 간단한 데모(공유)를 제공합니다. 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 편집기를 따라가 보세요

SnowNLP는 중국인이 개발한 Python클래스 라이브러리로, 현재 대부분의 자연어 처리 라이브러리가 기본적으로 중국어 텍스트 콘텐츠를 처리할 수 있도록 만들어졌습니다. 영어이므로 중국어 처리에 편리한 클래스 라이브러리를 작성했습니다. 그리고 여기서는 TextBlob과 달리 NLTK를 사용하지 않고 모든 알고리즘을 직접 구현하며 일부 훈련된 사전도 함께 제공됩니다. 이 프로그램은 유니코드 인코딩을 처리하므로 사용 시 직접 유니코드로 디코딩하시기 바랍니다. MIT 라이선스로 출시되었습니다.

itsgithub 홈페이지

위 링크의 Python 코드를 수정하고 이해를 돕기 위해 comments를 추가했습니다.

from snownlp import SnowNLP
# SnowNLP库:
# words:分词
# tags:关键词
# sentiments:情感度
# pinyin:拼音
# keywords(limit):关键词
# summary:关键句子
# sentences:语序
# tf:tf值
# idf:idf值
s = SnowNLP(u'这个东西真心很赞')
# s.words     # [u'这个', u'东西', u'真心', u'很', u'赞']
print(s.words)
s.tags # [(u'这个', u'r'), (u'东西', u'n'), (u'真心', u'd')
# , (u'很', u'd'), (u'赞', u'Vg')]
print(s.sentiments)
# s.sentiments  # 0.9769663402895832 positive的概率
# s.pinyin    # [u'zhe', u'ge', u'dong', u'xi', # u'zhen', u'xin', u'hen',
# u'zan']4
s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')
# s.han      # u'「繁体字」「繁体中文」的叫法在台湾亦很常见。'
print(s.han)
from snownlp import SnowNLP
text = u'''
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。
它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,
所以它与语言学的研究有着密切的联系,但又有重要的区别。
自然语言处理并不是一般地研究自然语言,
而在于研制能有效地实现自然语言通信的计算机系统,
特别是其中的软件系统。因而它是计算机科学的一部分。
'''
s = SnowNLP(text)
print(s.keywords(6)) # [u'语言', u'自然', u'计算机'] 不能用tags输出关键字.
s.summary(3) # [u'因而它是计算机科学的一部分', u'自然语言处理是一门融语言学、计算机科学、
# 数学于一体的科学', u'自然语言处理是计算机科学领域与人工智能领域中的一个重要方向']s.sentences
# print(s.sentences)
print(s.sentiments) # 1.0
s = SnowNLP([[u'这篇', u'文章'],
       [u'那篇', u'论文'],
       [u'这个']])
# print(s.tf)
# print(s.idf)
# print(s.sim([u'文章'])) # [0.3756070762985226, 0, 0]

컴파일하고 실행하기 전에 먼저 snownlp 패키지를 설치하세요. , pylab 및 pandas 모듈이 이어집니다.
VS Code 터미널에 입력합니다(보기->통합 터미널):

pip install snownlp
pip install pylab
pip install pandas

전제는 pip가 설치되어 있다는 것입니다. pip가 설치되지 않은 경우 이전 기사를 확인할 수 있습니다

VS Code에서는 모듈 이름을 마우스 오른쪽 버튼으로 클릭하여 정의를 볼 수 있으며, 그러면 모듈의 구현을 볼 수 있습니다. VS Code는 매우 강력하다고 말하고 싶습니다. 오픈 소스 및 크로스 플랫폼을 향해! !

그런 다음 "Good Will Hunting"의 Douban 리뷰를 무작위로 추출하여 txt에 넣었습니다.

사실 대부분의 경우 홍콩 번역보다 본토 번역이 더 풍미가 있습니다.

저희 잘못이 아닙니다!

이 영화는 TV에서 가끔씩만 봤었는데 정말 감동적이었습니다. 왜 그런 비참한 삶을 사는 그런 재능 있는 사람이 있을까?
대본은 너무 좋은 것 같은데 아직 촬영이 덜 된 것 같아요 :) 배우들의 연기는 아직 의심스럽네요~ 하하

리뷰가 좋아요

몇일전에 봤는데 감동적인 영화에요 , 진짜 인생을 찾아서

이 영화 리뷰는 매우 잘 작성되었습니다. 눈이 촉촉합니다

아주 좋은 영화

마지막 단계는 처리입니다:

from snownlp import SnowNLP
import pandas as pd
import pylab as pl
txt = open('F:/_analyse_Emotion.txt')
text = txt.readlines()
txt.close()
print('读入成功')
sentences = []
senti_score = []
for i in text:
  a1 = SnowNLP(i)
  a2 = a1.sentiments
  sentences.append(i) # 语序...
  senti_score.append(a2)
  print('doing')
table = pd.DataFrame(sentences, senti_score)
# table.to_excel('F:/_analyse_Emotion.xlsx', sheet_name='Sheet1')
# ts = pd.Series(sentences, senti_score)
# ts = ts.cumsum()
# print(table)
x = [1, 2, 3, 4, 5, 6, 7, 8]
pl.mpl.rcParams['font.sans-serif'] = ['SimHei']
pl.plot(x, senti_score)
pl.title(u'心 灵 捕 手 网 评')
pl.xlabel(u'评 论 用 户')
pl.ylabel(u'情 感 程 度')
pl.show()

최종 효과:

무심코 데이터를 추출했지만, snownlp는 여전히 감정 분석이 매우 정확하다고 주장합니다.

위 내용은 Python에서 snownlp 감정 분석의 간단한 데모 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.