ホームページ  >  記事  >  バックエンド開発  >  Python Snownlp チュートリアルの例を共有する

Python Snownlp チュートリアルの例を共有する

PHP中文网
PHP中文网オリジナル
2017-06-21 15:55:153683ブラウズ

SnowNLP は中国語のテキストコンテンツを便利に処理できる Python クラスライブラリです。現在の自然言語処理ライブラリのほとんどは基本的に英語用なので、処理を容易にするためにライブラリを作成しました。 TextBlob とは異なり、ここでは NLTK は使用されず、すべてのアルゴリズムが独自に実装されており、いくつかのトレーニング済み辞書が付属しています。なお、このプログラムはUnicodeエンコードを扱っていますので、ご利用の際はご自身でUnicodeにデコードしてください。 MITライセンスに基づいてリリースされています。
その github ホームページ
理解を容易にするために、上記のリンクの 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']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]

コンパイルして実行する前に、まず Snownlp パッケージをインストールし、次に pylab 、 pandas モジュールをインストールする必要があります:
VS Code ターミナル ([表示] -> [統合ターミナル]) に入力します:
pip install Snownlp

pip install pylab

pip install pandas
pip がインストールされていない場合は、確認できます。前の記事

VS Code では、モジュール名を右クリックして定義を表示し、モジュールの実装を確認できます。VS Code は非常に強力であると言わざるを得ません。このようにして、オープンソースとクロスプラットフォームに移行してください。 !
次に、「グッド ウィル ハンティング」の Douban レビューをランダムに抽出し、テキストに入れました。

実際、ほとんどの場合、本土の翻訳の方が香港の翻訳より味わい深いです。
それはあなたのせいではありません!
私はこの映画をテレビで時々見ただけでしたが、それを見たときは本当に感動しました。 なぜこのような天才がこれほどまでに曲がりくねった人生を歩むことができたのでしょうか?
脚本はとても良いと思いますが、完全に撮影されていませんでした:)俳優の演技についてはまだいくつか疑問があります〜笑
良いレビュー
数日前に観たばかりですが、心に響く映画で、実生活
この記事 映画のレビューはとてもよく書かれており、目が潤みます
とても良い映画です


最後のステップは処理手順です:

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

最終的な効果:

かもしれません。多少の不正確さはあるかもしれませんが、私は何気なくデータを抽出しましたが、snownlp は感情分析が非常に正確であると主張しています。

以上がPython Snownlp チュートリアルの例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。