日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

天猫商品评论情感词分析(基于SnowNLP)

發布時間:2024/3/26 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 天猫商品评论情感词分析(基于SnowNLP) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

SnowNLP是一個python寫的類庫,可以方便的處理中文文本內容,是受到了TextBlob的啟發而寫的,由于現在大部分的自然語言處理庫基本都是針對英文的,于是寫了一個方便處理中文的類庫,并且和TextBlob不同的是,這里沒有用NLTK,所有的算法都是自己實現的,并且自帶了一些訓練好的字典。而且SnowNLP非常適合商品評論的情感詞分析。

參考鏈接:https://github.com/isnowfy/snownlp

功能

  • 中文分詞(Character-Based Generative Model)
  • 詞性標注(TnT?3-gram 隱馬)
  • 情感分析(現在訓練數據主要是買賣東西時的評價,所以對其他的一些可能效果不是很好,待解決)
  • 文本分類(Naive Bayes)
  • 轉換成拼音(Trie樹實現的最大匹配)
  • 繁體轉簡體(Trie樹實現的最大匹配)
  • 提取文本關鍵詞(TextRank算法)
  • 提取文本摘要(TextRank算法)
  • tf,idf(信息衡量)
  • Tokenization(分割成句子)
  • 文本相似(BM25)

功能介紹

安裝

pip install snownlp

功能

from snownlp import SnowNLPtext = u''' 自然語言處理是計算機科學領域與人工智能領域中的一個重要方向。 它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。 自然語言處理是一門融語言學、計算機科學、數學于一體的科學。 因此,這一領域的研究將涉及自然語言,即人們日常使用的語言, 所以它與語言學的研究有著密切的聯系,但又有重要的區別。 自然語言處理并不是一般地研究自然語言, 而在于研制能有效地實現自然語言通信的計算機系統, 特別是其中的軟件系統。因而它是計算機科學的一部分。 ''' s=SnowNLP(text)# 1、分詞 print(s.words)['自然', '語言', '處理', '是', '計算機', '科學', '領域', '與', '人工', '智能', '領域', '中', '的', '一個', '重要', '方向', '。', '它', '研究', '能', '實現', '人', '與', '計算機', '之間', '用', '自然', '語言', '進行', '有效', '通信', '的', '各種', '理論', '和', '方法', '。', '自然', '語言', '處理', '是', '一', '門融', '語言', '學', '、', '計算機', '科學', '、', '數學', '于', '一體', '的', '科學', '。', '因此', ',', '這', '一', '領域', '的', '研究', '將', '涉及', '自然', '語言', ',', '即', '人們', '日常', '使用', '的', '語言', ',', '所以', '它', '與', '語言學', '的', '研究', '有著', '密切', '的', '聯系', ',', '但', '又', '有', '重要', '的', '區別', '。', '自然', '語言', '處理', '并', '不', '是', '一般', '地', '研究', '自然', '語言', ',', '而', '在于', '研制', '能', '有效', '地', '實現', '自然', '語言', '通信', '的', '計算機', '系統', ',', '特別', '是', '其中', '的', '軟件', '系統', '。', '因而', '它', '是', '計算機', '科學', '的', '一', '部分', '。']# 2、詞性標注 tags=[x for x in s.tags] print(tags)[('自然', 'n'), ('語言', 'n'), ('處理', 'v'), ('是', 'v'), ('計算機', 'n'), ('科學', 'n'), ('領域', 'n'), ('與', 'c'), ('人工', 'b'), ('智能', 'n'), ('領域', 'n'), ('中', 'f'), ('的', 'u'), ('一個', 'm'), ('重要', 'a'), ('方向', 'n'), ('。', 'w'), ('它', 'r'), ('研究', 'v'), ('能', 'v'), ('實現', 'v'), ('人', 'n'), ('與', 'p'), ('計算機', 'n'), ('之間', 'f'), ('用', 'v'), ('自然', 'a'), ('語言', 'n'), ('進行', 'v'), ('有效', 'a'), ('通信', 'vn'), ('的', 'u'), ('各種', 'r'), ('理論', 'n'), ('和', 'c'), ('方法', 'n'), ('。', 'w'), ('自然', 'n'), ('語言', 'n'), ('處理', 'v'), ('是', 'v'), ('一', 'm'), ('門融', 'q'), ('語言', 'n'), ('學', 'v'), ('、', 'w'), ('計算機', 'n'), ('科學', 'n'), ('、', 'w'), ('數學', 'n'), ('于', 'p'), ('一體', 'n'), ('的', 'u'), ('科學', 'n'), ('。', 'w'), ('因此', 'c'), (',', 'w'), ('這', 'r'), ('一', 'm'), ('領域', 'n'), ('的', 'u'), ('研究', 'vn'), ('將', 'd'), ('涉及', 'v'), ('自然', 'a'), ('語言', 'n'), (',', 'w'), ('即', 'v'), ('人們', 'n'), ('日常', 'b'), ('使用', 'vn'), ('的', 'u'), ('語言', 'n'), (',', 'w'), ('所以', 'c'), ('它', 'r'), ('與', 'p'), ('語言學', 'a'), ('的', 'u'), ('研究', 'vn'), ('有著', 'v'), ('密切', 'a'), ('的', 'u'), ('聯系', 'vn'), (',', 'w'), ('但', 'c'), ('又', 'd'), ('有', 'v'), ('重要', 'a'), ('的', 'u'), ('區別', 'n'), ('。', 'w'), ('自然', 'n'), ('語言', 'n'), ('處理', 'vn'), ('并', 'c'), ('不', 'd'), ('是', 'v'), ('一般', 'a'), ('地', 'u'), ('研究', 'vn'), ('自然', 'n'), ('語言', 'n'), (',', 'w'), ('而', 'c'), ('在于', 'v'), ('研制', 'v'), ('能', 'v'), ('有效', 'a'), ('地', 'u'), ('實現', 'v'), ('自然', 'n'), ('語言', 'n'), ('通信', 'vn'), ('的', 'u'), ('計算機', 'n'), ('系統', 'n'), (',', 'w'), ('特別', 'd'), ('是', 'v'), ('其中', 'r'), ('的', 'u'), ('軟件', 'n'), ('系統', 'n'), ('。', 'w'), ('因而', 'c'), ('它', 'r'), ('是', 'v'), ('計算機', 'n'), ('科學', 'n'), ('的', 'u'), ('一', 'm'), ('部分', 'n'), ('。', 'w')]# 3、斷句 print(s.sentences)['自然語言處理是計算機科學領域與人工智能領域中的一個重要方向', '它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法', '自然語言處理是一門融語言學、計算機科學、數學于一體的科學', '因此', '這一領域的研究將涉及自然語言', '即人們日常使用的語言', '所以它與語言學的研究有著密切的聯系', '但又有重要的區別', '自然語言處理并不是一般地研究自然語言', '而在于研制能有效地實現自然語言通信的計算機系統', '特別是其中的軟件系統', '因而它是計算機科學的一部分']# 4、正負情感詞判斷得分 print(s.sentiments)1.0# 5、轉換為拼音 print(s.pinyin)['Zi', 'ran', 'yu', 'yan', 'chu', 'li', 'shi', 'ji', 'suan', 'ji', 'ke', 'xue', 'ling', 'yu', '與', 'ren', 'gong', 'zhi', 'neng', 'ling', 'yu', 'zhong', 'de', 'yi', 'ge', 'zhong', 'yao', 'fang', 'xiang', '。', 'ta', 'yan', 'jiu', 'neng', 'shi', 'xian', 'ren', '與', 'ji', 'suan', 'ji', 'zhi', 'jian', 'yong', 'Zi', 'ran', 'yu', 'yan', 'jin', 'xing', 'you', 'xiao', 'tong', 'xin', 'de', 'ge', 'zhong', 'li', 'lun', 'huo', 'fang', 'fa', '。', 'Zi', 'ran', 'yu', 'yan', 'chu', 'li', 'shi', 'yi', 'men', 'rong', 'yu', 'yan', 'xue', '、', 'ji', 'suan', 'ji', 'ke', 'xue', '、', 'shu', 'xue', '于', 'yi', 'ti', 'de', 'ke', 'xue', '。', 'yin', 'ci', ',', 'zhe', 'yi', 'ling', 'yu', 'de', 'yan', 'jiu', 'jiang', 'she', 'ji', 'Zi', 'ran', 'yu', 'yan', ',', 'ji', 'ren', 'men', 'ri', 'chang', 'shi', 'yong', 'de', 'yu', 'yan', ',', 'suo', 'yi', 'ta', '與', 'yu', 'yan', 'xue', 'de', 'yan', 'jiu', 'you', 'zhe', 'mi', 'qie', 'de', 'lian', 'xi', ',', 'dan', 'you', 'you', 'zhong', 'yao', 'de', 'qu', 'bie', '。', 'Zi', 'ran', 'yu', 'yan', 'chu', 'li', 'bing', 'bu', 'shi', 'yi', 'ban', 'di', 'yan', 'jiu', 'Zi', 'ran', 'yu', 'yan', ',', 'er', 'zai', 'yu', 'yan', 'zhi', 'neng', 'you', 'xiao', 'di', 'shi', 'xian', 'Zi', 'ran', 'yu', 'yan', 'tong', 'xin', 'de', 'ji', 'suan', 'ji', 'xi', 'tong', ',', 'te', 'bie', 'shi', 'qi', 'zhong', 'de', 'ruan', 'jian', 'xi', 'tong', '。', 'yin', 'er', 'ta', 'shi', 'ji', 'suan', 'ji', 'ke', 'xue', 'de', 'yi', 'bu', 'fen', '。']# 6、繁體轉換為簡體 print(s.han)自然語言處理是計算機科學領域與人工智能領域中的一個重要方向。 它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。 自然語言處理是一門融語言學、計算機科學、數學于一體的科學。 因此,這一領域的研究將涉及自然語言,即人們日常使用的語言, 所以它與語言學的研究有著密切的聯系,但又有重要的區別。 自然語言處理并不是一般地研究自然語言, 而在于研制能有效地實現自然語言通信的計算機系統, 特別是其中的軟件系統。因而它是計算機科學的一部分。# 7、關鍵字抽取 print(s.keywords(10))['語言', '自然', '計算機', '領域', '研究', '科學', '通信', '系統', '智能', '人工']# 8、摘要 print(s.summary(3))['因而它是計算機科學的一部分', '自然語言處理是計算機科學領域與人工智能領域中的一個重要方向', '自然語言處理是一門融語言學、計算機科學、數學于一體的科學']

案例展示

爬取天貓上olay官方旗艦店的一個商品,對評論內容進行情感詞分析,得出評論正負情感的概率,從而判斷產品的好壞。代碼如下所示

from snownlp import SnowNLP from snownlp import sentiment import pandas as pd import csvresult=pd.read_csv('./olay.csv',encoding='utf-8') # print(result['評論內容']) items=result['評論內容'].astype(str).tolist() # print(items)D=[] for i in range(len(items)):s=SnowNLP(items[i])t=s.sentimentsprint(t)a=[items[i],t]D.append(a) print(D) with open('./情感詞分析.csv','a',encoding='gb18030',newline='')as f1:write=csv.writer(f1)write.writerows(D)

結果展示

觀察正負情感詞概率分布可以看出,在0.8以上的好評率占比最高,觀察數據評分,在0.1以下的snownlp才認為是差評,


隨著大數據的時代的到來,數據變得越來越重要,數據可以幫助我們來看清行業的本質,也可以幫助我們更加快速的了解一個行業,關注公眾號——DT學說,走進數據的時代

總結

以上是生活随笔為你收集整理的天猫商品评论情感词分析(基于SnowNLP)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。