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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中数据用折线图表示_用python处理文本数据

發布時間:2023/12/4 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中数据用折线图表示_用python处理文本数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用python處理文本數據

Q:這篇文章主要講什么?

A:這篇文章主要討論如何用python來做一些簡單的文本處理——文本相似度比較。

談起python的自然語言處理,肯定會讓人想起NLTK。不過上面這兩個任務并不需要NLTK這個庫,只是用到了gensim。由于涉及中文,所以還用到了jieba來做中文分詞。

Q:Gensim是什么東西?

A:首先說說gensim是個怎樣的python庫吧。

由于這篇筆記只記錄最簡單的用法,所以gensim更詳細的介紹,更強大的功能請到官網閱讀文檔:gensim官網。不懂英文?趕緊去補啊!

gensim

Gensim is a free Python library designed to automatically extract semantictopics from documents, as efficiently (computer-wise) and painlessly (human-wise) as possible.

簡單來說,gensim的主要功能有把文本轉為向量(scikit-learn也能做到),抽取文本中的關鍵詞(jieba也能做到),比較兩個文本的相似度,甚至是計算一個查詢(本質也是一個文本)與一個文檔集合中所有文檔的關聯程度(這個似乎只有gensim能做,sklearn和jieba都不能)。更強大的是,gensim庫實現了word2vec算法(其實我目前不懂這個算法的原理)!。

gensim有三個主要模塊——

  • corpora:將文本轉為向量,提供存儲文本矩陣的方法。這里生產的向量形式是最基本的,族簡單的,僅僅是為文檔建立詞典,然后計數文檔中每個詞出現的次數。
  • models:將corpora生產的簡單向量轉化為其他各種不同的向量。可以選擇的向量模型有TFIDF, LSI, RP, LDA, HDP等。用戶可以先用corpora模塊把文本轉為簡單向量,再用models模塊得到自己需要的向量形式。
  • similarites:提供計算文本相似度方法的模塊。

gensim其他更強大的功能還沒列出,所以想要深入學習就得去官網查閱文檔了。

Q:如何使用gensim來計算文本相似度?

A:計算一個查詢(字符串)與文檔集中所有文檔的相似度是搜索引擎的核心功能模塊之一。gensim計算文本相似度的的套路就是先用copora模塊把文檔轉為簡單的稀疏矩陣;然后用models模塊得到符合需要的向量模型;最后用similarities模塊計算相似度。下面用一個案例來說明怎樣計算文本相似度。

假設現在有一個八個文檔組成的文檔集:

texts = [ '什么是股票?', '股票是個什么玩意?', '新手怎樣入門炒股?', '現在股市的風險大嗎?', 'python的自然語言處理', 'gensim的主要功能有把文本轉為向量', '提供存儲文本矩陣的方法', '這篇文章主要討論如何用python來做一些簡單的文本處理']

由于文本轉向量算法的原理是統計文本中每個單詞出現的個數,所以我們還要把文檔集里的每個文檔切詞,也就是說把一個文檔編程一個單詞列表(或者數組,或者任何數據容器iterable)。西方語言由于先天就用空格把詞分開,而類似中文的東方語言則需要特定的分詞模塊。一個常用的中文分詞模塊是jieba分詞——可以分詞、可以做詞性標注、可以抽取關鍵字的分詞模塊。詳見官方文檔(當然是中文的)。

docs = [jieba.lcut_for_search(i) for i in texts] #返回一個包含著很多單詞列表的列表。In [4]: print docs[[u'什么', u'是', u'股票', u'?'], [u'股票', u'是', u'個', u'什么', u'玩意', u'?'], [u'新手', u'怎樣', u'入門', u'炒股', u'?'], [u'現在', u'股市', u'的', u'風險', u'大', u'嗎', u'?'], [u'python', u'的', u'自然', u'語言', u'自然語言', u'處理'], [u'gensim', u'的', u'主要', u'功能', u'有', u'把', u'文本', u'轉為', u'向量'], [u'提供', u'存儲', u'文本', u'矩陣', u'的', u'方法'], [u'這', u'文章', u'篇文章', u'主要', u'討論', u'如何', u'用', u'python', u'來', u'做', u'一些', u'簡單', u'的', u'文本', u'本處', u'處理', u'文本處理']]#原諒我的機器在打印整個列表時,所有中文會變成unicode編碼

下一步是構建文檔集(單詞列表集)的詞典,然后利用詞典來用向量表示文檔

In [10]: dic = corpora.Dictionary(docs)In [11]: print dic #這個詞典給文檔集中每個單詞編號Dictionary(45 unique tokens: [u'風險', u'本處', u'的', u'處理', u'什么']...)In [12]: corpus = [dic.doc2bow(i) for i in docs]In [13]: print corpus [[(0, 1), (1, 1), (2, 1), (3, 1)], [(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1)], [(3, 1), (6, 1), (7, 1), (8, 1), (9, 1)], [(3, 1), (10, 1), (11, 1), (12, 1), (13, 1), (14, 1), (15, 1)], [(12, 1), (16, 1), (17, 1), (18, 1), (19, 1), (20, 1)], [(12, 1), (21, 1), (22, 1), (23, 1), (24, 1), (25, 1), (26, 1), (27, 1), (28, 1)], [(12, 1), (25, 1), (29, 1), (30, 1), (31, 1), (32, 1)], [(12, 1), (16, 1), (17, 1), (24, 1), (25, 1), (33, 1), (34, 1), (35, 1), (36, 1), (37, 1), (38, 1), (39, 1), (40, 1), (41, 1), (42, 1), (43, 1), (44, 1)]]#這是稀疏矩陣的一種形式,每個列表的每個括號表示(詞編號,詞的出現次數)

這樣一來,文本就轉換成矩陣了。不過這個矩陣的向量模型非常簡單,我們要用一個高級一點的LSI(潛語義分析)向量模型來做相似度計算。應用models模塊的可以做到向量模型的轉換。

In [14]: lsi = models.LsiModel(corpus, id2word=dic, num_topics=2)

向量模型轉換完成,下面開始進行計算相似度的工作。為了方便和明顯,我們計算一下“股票”這個詞和“文本”這兩個查詢與文檔集中八個文檔的相似度。如果沒有意外,按照我們的直覺,我們會看到“股票”這個查詢和文檔集中前四個文檔比較相似,“文本”這個查詢和文檔集中后四個文檔比較相似。

In [21]: qurey1 = "股票" #首先把這兩個查詢也變成向量 ...: qurey2 = '文本' ...: vec_query1 = dic.doc2bow([qurey1]) ...: vec_query2 = dic.doc2bow([qurey2])In [22]: index = similarities.MatrixSimilarity(lsi[corpus])#然后建立索引(估計是倒排詞表,下面的就不怎么懂了)In [23]: sims1 = index[lsi[vec_query1]] ...: sims2 = index[lsi[vec_query2]]#得到了查詢語句與哥哥文檔的相似度In [24]: sims_result1 = sorted(enumerate(sims1), key=lambda item: -item[1]) ...: sims_result2 = sorted(enumerate(sims2), key=lambda item: -item[1])#給結果排一下序 In [25]: print sims_result1[(1, 0.99990207), (0, 0.99984658), (2, 0.99941468), (3, 0.93057805), (6, 0.31655648), (5, 0.27374423), (4, 0.12518336), (7, -0.11772308)]In [27]: print sims_result2[(4, 0.99776512), (7, 0.98443955), (5, 0.97619325), (6, 0.96549642), (3, 0.4200055), (2, 0.092727646), (0, 0.076089963), (1, 0.07257086)]

很明顯的看到“股票”這個查詢和文檔集中前四個文檔比較相似,“文本”這個查詢和文檔集中后四個文檔比較相似,這也是符合我們的常識的。

完整代碼:

#coding: utf-8import sys, jiebafrom gensim import corpora, models, similaritiesreload(sys)sys.setdefaultencoding('utf8')texts = [ '什么是股票?', '股票是個什么玩意?', '新手怎樣入門炒股?', '現在股市的風險大嗎?', 'python的自然語言處理', 'gensim的主要功能有把文本轉為向量', '提供存儲文本矩陣的方法', '這篇文章主要討論如何用python來做一些簡單的文本處理']docs = [jieba.lcut_for_search(i) for i in texts]dic = corpora.Dictionary(docs)corpus = [dic.doc2bow(i) for i in docs]lsi = models.LsiModel(corpus, id2word=dic, num_topics=2)qurey1 = "股票"qurey2 = '文本'vec_query1 = dic.doc2bow([qurey1])vec_query2 = dic.doc2bow([qurey2])index = similarities.MatrixSimilarity(lsi[corpus])sims1 = index[lsi[vec_query1]]sims2 = index[lsi[vec_query2]]sims_result1 = sorted(enumerate(sims1), key=lambda item: -item[1])sims_result2 = sorted(enumerate(sims2), key=lambda item: -item[1])print sims_result1print sims_result2

由于作者對于文本處理和gensim的原理還不太懂,如有不當之處,歡迎高手指點

總結

以上是生活随笔為你收集整理的python中数据用折线图表示_用python处理文本数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久91 | 日韩激情啪啪 | 亚洲精品久久久久中文字幕二区 | 久久久久五月 | 性欧美4khd高清极品 | 亚洲熟女乱色综合亚洲av | 国产日本精品视频 | 韩国伦理在线看 | 一区二区xxx | 日本在线观看一区二区三区 | 三级视频黄色 | 日日骚网 | www黄色片 | 国产精品午夜未成人免费观看 | 伊人久久大香线 | 日日插夜夜爽 | 国产精品毛片一区二区在线看舒淇 | 精品久久久久久久久久久久久 | 97人妻精品一区二区三区视频 | 亚洲色图18p | 亚洲午夜av | 无码专区久久综合久中文字幕 | 一区二区在线不卡 | www.日日操 | 日韩一区二区影视 | 中文字幕69 | 爱爱视频日本 | 黄色免费入口 | 欧美精品一区二区在线观看 | 爱爱一级 | 91免费国产在线 | 国产精品99 | 国产精品老熟女一区二区 | 女同在线视频 | 国产91在线视频 | 不卡的av电影 | 一区二区三区在线播放视频 | 精品国产自 | 疯狂伦交 | 呦呦色 | 亚洲欧美日韩图片 | 老熟妇精品一区二区三区 | 国产美女精品 | 久久综合中文字幕 | www.猫咪av | 日韩大尺度在线观看 | 中文在线最新版天堂8 | 91一级片 | 婷婷国产视频 | 成人在线网址 | 婷婷五月小说 | 国产精品一区二区三区线羞羞网站 | 又黄又免费的视频 | 天天干天天操天天碰 | 午夜免费观看视频 | 久久一精品 | 香蕉视频在线视频 | 182在线视频| 深爱婷婷网 | 日日cao| 青青草免费看 | 日本人性爱视频 | 日韩在线视频不卡 | 爱情岛论坛自拍 | 亚洲资源在线观看 | 午夜片在线观看 | 精品自拍偷拍视频 | 国产麻豆一精品一av一免费 | 中文资源在线观看 | 青青草原一区二区 | 色导航 | 黄网免费在线观看 | 99热在线看 | 成人a级免费视频 | 熟女高潮一区二区三区视频 | 欧洲一区二区在线 | 中文字幕一区av | 人人做 | 爱草在线 | 黑丝啪啪| 一区二区在线观看免费视频 | 精品视频999| 久久久激情视频 | 伊人夜夜| 国产午夜伦鲁鲁 | 日韩性网| 精品国产高清在线观看 | 四虎影城库 | 久久99久久99精品 | 国产绿帽刺激高潮对白 | 亚洲在线免费视频 | 在线高清观看免费 | 日韩人妻精品一区二区三区 | 国产精品一卡二卡在线观看 | wwwxxx在线播放 | 免费无毒av| 色妞www精品视频 | 亚洲日本japanese丝袜 | 91青青青|