1. 程式人生 > >自然語言處理入門(2)——中文文字處理利器snownlp

自然語言處理入門(2)——中文文字處理利器snownlp

SnowNLP是一個python寫的類庫,可以方便的處理中文文字內容。如中文分詞詞性標註情感分析文字分類提取文字關鍵詞文字相似度計算等。

snownlp示例如下所示:

# -*- coding: utf-8 -*-
"""
Created on Wed May 31 22:28:23 2017

@author: Administrator
"""

from snownlp import SnowNLP

s = SnowNLP(u'這個東西真心很贊')

s.words         # [u'這個', u'東西', u'真心',
                #  u'很', u'贊']
s.tags # [(u'這個', u'r'), (u'東西', u'n'), # (u'真心', u'd'), (u'很', u'd'), # (u'贊', u'Vg')] print(s.sentiments) # 0.9769663402895832 positive的概率 #漢轉拼音 print(s.pinyin) # [u'zhe', u'ge', u'dong', u'xi', # u'zhen', u'xin', u'hen', u'zan']
s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。') #簡轉繁 print(s.han) # u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。' text = u''' 自然語言處理是電腦科學領域與人工智慧領域中的一個重要方向。 它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。 自然語言處理是一門融語言學、電腦科學、數學於一體的科學。 因此,這一領域的研究將涉及自然語言,即人們日常使用的語言, 所以它與語言學的研究有著密切的聯絡,但又有重要的區別。 自然語言處理並不是一般地研究自然語言, 而在於研製能有效地實現自然語言通訊的計算機系統, 特別是其中的軟體系統。因而它是電腦科學的一部分。 '''
s = SnowNLP(text) s.keywords(3) # [u'語言', u'自然', u'計算機'] print(s.summary(3)) # [u'因而它是電腦科學的一部分', # u'自然語言處理是一門融語言學、電腦科學、 # 數學於一體的科學', # u'自然語言處理是電腦科學領域與人工智慧 # 領域中的一個重要方向'] s.sentences s = SnowNLP([[u'這篇', u'文章'], [u'那篇', u'論文'], [u'這個']]) print(s.tf) #詞頻 print(s.idf) #逆向檔案頻率 print(s.sim([u'文章']))# [0.3756070762985226, 0, 0]

執行結果如下圖所示:

這裡寫圖片描述