Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie Beispiele für Python-Snownlp-Tutorials

Teilen Sie Beispiele für Python-Snownlp-Tutorials

PHP中文网
PHP中文网Original
2017-06-21 15:55:153597Durchsuche

SnowNLP ist eine von Chinesen entwickelte Python-Klassenbibliothek, die von TextBlob inspiriert wurde Praktisch für die Verarbeitung von Chinesisch, und im Gegensatz zu TextBlob wird NLTK hier nicht verwendet. Alle Algorithmen werden von uns selbst implementiert und es werden einige trainierte Wörterbücher mitgeliefert. 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.
Seine Github-Homepage
Ich habe den Python-Code im obigen Link geändert und einige Kommentare hinzugefügt, 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']4s = 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.0s = 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 Snownlp-Paket installieren, gefolgt von den Modulen Pylab und Pandas:
Geben Sie im VS Code-Terminal (Ansicht->Integrated Terminal) Folgendes ein:
pip install snownlp

pip install pylab

pip install pandas
Die Voraussetzung ist, dass Sie pip installiert haben. Wenn Pip nicht installiert ist, können Sie meinen vorherigen Artikel lesen

In VS Code können wir es korrigieren - Klicken Sie auf das Modul. Wenn Sie zuerst die Definition überprüfen, können Sie die Implementierung des Moduls sehen. Ich hoffe, dass Microsoft weiterhin so vorgehen und auf Open Source und plattformübergreifend umsteigen kann. !
Dann habe ich zufällig die Douban-Rezension von „Good Will Hunting“ extrahiert und in einen Text 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. Es war wirklich berührend, als ich ihn sah. 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 der Schauspieler ~ Haha
Gute Kritiken
Ich habe es erst vor ein paar Tagen gesehen, ein Herz -berührender Film, auf der Suche nach dem wahren Leben
Diese Filmkritik ist sehr gut geschrieben, meine Augen sind feucht
Ein sehr guter Film


Endlich kommt der Verarbeitungsvorgang:

from snownlp import SnowNLPimport pandas as pdimport 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()

Das Endergebnis:

Ich habe die Daten vielleicht etwas ungenau extrahiert, aber snownlp behauptet das immer noch Die Stimmungsanalyse ist sehr genau!

Das obige ist der detaillierte Inhalt vonTeilen Sie Beispiele für Python-Snownlp-Tutorials. 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