SnowNLP는 중국인이 개발한 Python 클래스 라이브러리로, 중국어 텍스트 콘텐츠를 편리하게 처리할 수 있습니다. 현재 대부분의 자연어 처리 라이브러리가 기본적으로 영어용이므로 처리를 용이하게 하기 위해 라이브러리를 작성했습니다. 중국어 클래스 라이브러리이며 TextBlob과 달리 NLTK는 여기서 사용되지 않습니다. 모든 알고리즘은 자체적으로 구현되며 일부 훈련된 사전과 함께 제공됩니다. 이 프로그램은 유니코드 인코딩을 처리하므로 사용 시 직접 유니코드로 디코딩하시기 바랍니다. MIT 라이센스에 따라 출시되었습니다.
its 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가 설치되어 있지 않다면 my를 확인할 수 있습니다. 이전 기사
VS Code에서는 모듈 이름을 마우스 오른쪽 버튼으로 클릭하여 정의를 볼 수 있으며, 그러면 모듈의 구현을 볼 수 있습니다. VS Code가 계속해서 강력해졌으면 좋겠습니다. 이렇게 오픈소스와 크로스 플랫폼으로 나아가세요! !
그런 다음 "굿 윌 헌팅"의 도반 리뷰를 무작위로 추출하여 txt에 넣었습니다.
사실 대부분의 경우 홍콩 번역보다 본토 번역이 더 맛있습니다.
네 잘못이 아니야!
이 영화는 TV에서 가끔 봤지만 정말 감동적이었다. 왜 그런 천재가 그렇게 비참한 삶을 살 수 있었을까요?
대본은 너무 좋은 것 같은데 아직 다 촬영이 안 된 것 같아요 :) 아직 배우들의 연기력은 좀 의심스럽네요~ ㅎㅎ
리뷰 좋네요
몇일전에 봤는데 감동적인 영화, 찾아보고 있어요 real life
이 글 영화리뷰가 너무 잘 쓰여서 눈이 촉촉해졌네요
필름이 아주 좋아요
마지막 단계는 처리과정입니다:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!