以下のエディターは、python Snownlp センチメント分析の簡単なデモ (共有) を提供します。編集者はこれがとても良いと思ったので、参考として共有します。エディターをフォローして見てみましょう
SnowNLP は中国人によって開発された Python クラス ライブラリ であり、現在のほとんどの自然言語処理ライブラリは TextBlob からインスピレーションを得たものです。英語なので、中国語の処理に便利なクラス ライブラリを作成しました。TextBlob とは異なり、NLTK はすべて自分で実装されており、いくつかの学習済みの辞書が付属しています。なお、このプログラムはUnicodeエンコードを扱っていますので、ご利用の際はご自身でUnicodeにデコードしてください。 MITライセンスに基づいてリリースされています。
itsgithub ホームページ
理解を容易にするために、上のリンクの Python コードを変更し、コメントを追加しました:
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
脚本はとても良いと思いますが、完全に撮影されていませんでした:)俳優の演技についてはまだ少し疑問があります〜笑
最後のステップは処理です:
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 中国語 Web サイトの他の関連記事を参照してください。