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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

gensim中文处理

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gensim中文处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: UTF-8 -*- from gensim import corpora, similarities, models import jiebaquestion='馬致遠是元代領袖群英的散曲作家' # 訓練樣本 raw_documents = ['0內容提要 馬致遠是元代領袖群英的散曲作家。他的散曲飄逸、奔放、老辣、清雋,被后世推為散曲第一家。他拓展了散曲的題材范圍,提','高了散曲的意境,在散曲史上享有很高的地位。他的散曲思想內容豐富,元散曲詠史、嘆世、歸隱、寫景、閨情、敘事諸題材他都涉及,并各具','成就。他制曲藝術精湛,風格典雅清麗,本色自然。他的散曲意境高妙,充滿畫意,語言清麗本色,人物栩栩如生,他長于心理刻劃,善于運用','各種修辭手法,達到很高的藝術境界,將元散曲推向高潮。'] corpora_documents = [] # 分詞處理 for item_text in raw_documents:item_seg = list(jieba.cut(item_text))corpora_documents.append(item_seg)# 生成字典和向量語料 dictionary = corpora.Dictionary(corpora_documents) # print(dictionary) # dictionary.save('dict.txt') #保存生成的詞典 # dictionary=Dictionary.load('dict.txt')#加載# 通過下面一句得到語料中每一篇文檔對應的稀疏向量(這里是bow向量) corpus = [dictionary.doc2bow(text) for text in corpora_documents] # 向量的每一個元素代表了一個word在這篇文檔中出現的次數 # print(corpus) # corpora.MmCorpus.serialize('corpuse.mm',corpus)#保存生成的語料 # corpus=corpora.MmCorpus('corpuse.mm')#加載# corpus是一個返回bow向量的迭代器。下面代碼將完成對corpus中出現的每一個特征的IDF值的統計工作 tfidf_model = models.TfidfModel(corpus) corpus_tfidf = tfidf_model[corpus]''''' #查看model中的內容 for item in corpus_tfidf: print(item) # tfidf.save("data.tfidf") # tfidf = models.TfidfModel.load("data.tfidf") # print(tfidf_model.dfs) ''' print("-------------------下面是tfidf模型(第1個提問)----------------------------------------------------")similarity = similarities.Similarity('Similarity-tfidf-index', corpus_tfidf, num_features=600) test_data_1 = question test_cut_raw_1 = list(jieba.cut(test_data_1)) # ['北京', '霧', '霾', '紅色', '預警'] test_corpus_1 = dictionary.doc2bow(test_cut_raw_1) # [(51, 1), (59, 1)],即在字典的56和60的地方出現重復的字段,這個值可能會變化 similarity.num_best = 5 test_corpus_tfidf_1 = tfidf_model[test_corpus_1] # 根據之前訓練生成的model,生成query的IFIDF值,然后進行相似度計算 # [(51, 0.7071067811865475), (59, 0.7071067811865475)] print(similarity[test_corpus_tfidf_1]) # 返回最相似的樣本材料,(index_of_document, similarity) tuplesprint("-------------------下面是tfidf模型(第2個提問)----------------------------------------------------") test_data_2 = question test_cut_raw_2 = list(jieba.cut(test_data_2)) test_corpus_2 = dictionary.doc2bow(test_cut_raw_2) test_corpus_tfidf_2 = tfidf_model[test_corpus_2] similarity.num_best = 3 print(similarity[test_corpus_tfidf_2]) # 返回最相似的樣本材料,(index_of_document, similarity) tuples print("-------------------下面是LSI模型-----------------------------------") # 使用LSI模型進行相似度計算 lsi = models.LsiModel(corpus_tfidf) corpus_lsi = lsi[corpus_tfidf] similarity_lsi = similarities.Similarity('Similarity-LSI-index', corpus_lsi, num_features=400, num_best=2) # save # LsiModel.load(fname, mmap='r')#加載 test_data_3 = question test_cut_raw_3 = list(jieba.cut(test_data_3)) # 1.分詞 test_corpus_3 = dictionary.doc2bow(test_cut_raw_3) # 2.轉換成bow向量 test_corpus_tfidf_3 = tfidf_model[test_corpus_3] # 3.計算tfidf值 test_corpus_lsi_3 = lsi[test_corpus_tfidf_3] # 4.計算lsi值 # lsi.add_documents(test_corpus_lsi_3) #更新LSI的值 print(similarity_lsi[test_corpus_lsi_3])

總結

以上是生活随笔為你收集整理的gensim中文处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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