SnowNLP:?中文分詞?詞性標準?提取文本摘要,?提取文本關鍵詞,?轉換成拼音?繁體轉簡體的 處理中文文本的Python3 類庫
SnowNLP是一個python寫的類庫,可以方便的處理中文文本內容,是受到了TextBlob的啟發而寫的,由於現在大部分的自然語言處理庫基本都是針對英文的,於是寫了一個方便處理中文的類庫,並且和TextBlob不同的是,這裏沒有用NLTK,所有的算法都是自己實現的,並且自帶了一些訓練好的字典。
Features • 中文分詞(Character-Based Generative Model) • 詞性標準(TnT 3-gram 隱馬) • 情感分析(現在訓練數據主要是買賣東西時的評價,所以對其他的一些可能效果不是很好,待解決) • 文本分類(Naive Bayes) • 轉換成拼音 • 繁體轉簡體 • 提取文本關鍵詞(TextRank算法) • 提取文本摘要(TextRank算法) • tf,idf • Tokenization(分割成句子) • 文本相似(BM25) • 支持python3(感謝erning) Get It now $ pip install snownlp
demo:
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‘)]
s.sentiments # 0.9830157237610916 positive的概率
s.pinyin # [u‘zhe‘, u‘ge‘, u‘dong‘, u‘xi‘, # u‘zhen‘, u‘xin‘, u‘hen‘, u‘zan‘]
s = SnowNLP(u‘「繁體字」「繁體中文」的叫法在臺灣亦很常見。‘)
s.han # u‘「繁體字」「繁體中文」的叫法 # 在臺灣亦很常見。‘
text = u‘‘‘ 自然語言處理是計算機科學領域與人工智能領域中的一個重要方向。 它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。 自然語言處理是一門融語言學、計算機科學、數學於一體的科學。 因此,這一領域的研究將涉及自然語言,即人們日常使用的語言, 所以它與語言學的研究有著密切的聯系,但又有重要的區別。 自然語言處理並不是一般地研究自然語言, 而在於研制能有效地實現自然語言通信的計算機系統, 特別是其中的軟件系統。因而它是計算機科學的一部分。 ‘‘‘
s = SnowNLP(text)
s.keywords(3) # [u‘語言‘, u‘自然‘, u‘計算機‘]
s.summary(3) # [u‘自然語言處理是一門融語言學、計算機科學、 # 數學於一體的科學‘, # u‘自然語言處理是計算機科學領域與人工智能 # 領域中的一個重要方向‘, # u‘而在於研制能有效地實現自然語言通信的計 # 算機系統‘] s.sentences
s = SnowNLP([[u‘這篇‘, u‘文章‘], [u‘那篇‘, u‘論文‘], [u‘這個‘]]) s.tf s.idf s.sim([u‘文章‘])# [0.3756070762985226, 0, 0]
更多信息可以瀏覽項目主頁:SnowNLP https://segmentfault.com/a/1190000000362372
SnowNLP:?中文分詞?詞性標準?提取文本摘要,?提取文本關鍵詞,?轉換成拼音?繁體轉簡體的 處理中文文本的Python3 類庫