Heim  >  Artikel  >  Backend-Entwicklung  >  Einfache Demo-Freigabe der Snownlp-Stimmungsanalyse in Python

Einfache Demo-Freigabe der Snownlp-Stimmungsanalyse in Python

黄舟
黄舟Original
2017-06-04 10:08:202867Durchsuche

Der Editor unten zeigt Ihnen eine einfache Demo (Teilen) der Python Snownlp-Sentimentanalyse. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Schauen wir uns den Editor an.

SnowNLP ist eine Python-Klassenbibliothek, die bequem chinesische Textinhalte verarbeiten kann Bibliotheken sind im Wesentlichen für Englisch gedacht, daher habe ich eine Klassenbibliothek geschrieben, die für die Verarbeitung von Chinesisch geeignet ist. Im Gegensatz zu TextBlob werde ich hier nicht alle Algorithmen verwenden, und einige davon sind im Wörterbuch enthalten. Beachten Sie, dass dieses Programm die Unicode-Kodierung übernimmt. Bitte dekodieren Sie es daher selbst in Unicode, wenn Sie es verwenden. Veröffentlicht unter der MIT-Lizenz.

es istGitHub-Homepage

Ich habe selbst den Python-Code im Link oben geändert und einige Kommentare, um Ihr Verständnis zu erleichtern:

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]
Vor dem Kompilieren und Ausführen müssen Sie zuerst

das Paket snownlp installieren, gefolgt von pylab, pandas Module : Geben Sie im VS-Code-Terminal ein (Ansicht-> Integriertes Terminal):

pip install snownlp
pip install pylab
pip install pandas
Voraussetzung ist, dass Sie pip installiert haben, können Sie my überprüfen vorheriger Artikel

In VS Code können wir mit der rechten Maustaste auf den Modulnamen klicken, um die Definition anzuzeigen, und dann können wir die Implementierung des Moduls sehen. Ich muss sagen, dass VS Code sehr leistungsfähig ist kann so weitermachen und in Richtung Open Source und plattformübergreifend übergehen! !


Dann habe ich zufällig die Douban-Rezension von „Good Will Hunting“ extrahiert und in eine TXT-Datei eingefügt:

Tatsächlich ist die Festlandübersetzung in den meisten Fällen geschmackvoller als die Hongkong-Übersetzung.


Es ist nicht deine Schuld!


Ich habe diesen Film nur gelegentlich im Fernsehen gesehen und es war wirklich berührend, als ich ihn gesehen habe. Warum sollte es einen so talentierten Menschen mit einem so schwierigen Leben geben?

Ich finde das Drehbuch sehr gut, aber es wurde nicht vollständig verfilmt :) Ich habe immer noch ein wenig Zweifel an der Leistung des Schauspielers~ Haha

Gute Kritiken


Vor ein paar Tagen habe ich mir gerade einen herzergreifenden Film angeschaut, auf der Suche nach dem wirklichen Leben


Diese Filmkritik ist sehr gut geschrieben, meine Augen sind feucht


Ein sehr guter Film

Der letzte Schritt ist die Verarbeitung:

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()

Der Endeffekt:

Es kann sein, dass es einige Ungenauigkeiten gibt. Ich habe die Daten beiläufig extrahiert, aber snownlp behauptet immer noch, dass die Stimmungsanalyse sehr genau ist!

Das obige ist der detaillierte Inhalt vonEinfache Demo-Freigabe der Snownlp-Stimmungsanalyse in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn