當前位置:律師網大全 - 註冊公司 - 基於Gensim的文本相似度計算

基於Gensim的文本相似度計算

Gensim是Python的自然語言處理庫。使用的算法,如TF-IDF ($ TERM頻率-逆文檔頻率),潛在狄利克雷分配(LDA),?潛在語義分析(LSA)或隨機投影等。它是通過在訓練語料庫中檢查同壹文檔中的詞的統計* * *模式來找到文檔的語義結構,最後將其轉化為向量模式進行進壹步處理。此外,Gensim還實現了word2vec功能,可以將單詞轉化為單詞向量。

語料庫是壹組原始文本,用於無監督地訓練文本主題的隱藏結構。不需要手動標記語料庫中的附加信息。在Gensim中,語料庫通常是壹個叠代對象(比如壹個列表)。每次叠代返回壹個稀疏向量,可用於表達文本對象。

向量是壹組文本特征的列表。它是壹個文本在Gensim中的內部表達。

詞典是所有文檔中所有單詞的集合,記錄了每個單詞出現的次數等信息。?

模型是壹個抽象的術語。定義了兩個向量空間的變換(即從文本的壹個向量表示到另壹個向量表示)。

用壹個實驗來了解:

# -*-編碼:UTF-8 -*-?

從gensim導入語料庫,相似性,模型

進口潔霸

classGensimExp(對象):

def__init__(self,documents,test_document,Type,feature_num,best_num):

self.raw_documents =文檔

自我測試文檔=測試文檔

自我。SimCalType =類型

self.num_features = feature_num

self.num_best =最佳數量

defCalSim(self):

corpora_documents = []

#分詞

for item _ textin self . raw _ documents:

item _ seg = list(jieba . cut(item _ text))

corpora_documents.append

#生成詞典和語料庫

字典=語料庫。詞典(語料庫_文檔)

#計算每條新聞對應的弓矢。

corpus =[dictionary . doc 2 bow(text)for text incorporation _ documents]#叠代器

如果自己。simcal type = = ' Similarity-tfi df-index ':

#統計語料庫中每個特征的IDF值?

tfidf_model =模型。TfidfModel(語料庫)

語料庫_ tfi df = tfi df _ model[語料庫]

自我。_相似性=相似性。相似性(自我。SimCalType,corpus_tfidf,\

num_features=self.num_features,num_best=self.num_best)

test _ cut _ raw = list(jieba . cut(self . test _ document))

test _ corpus = dictionary . doc 2 bow(test _ cut _ raw)

#根據訓練好的模型,生成IF-IDF值,然後計算相似度。

自我。_ test _ corpus = tfi df _ model[test _ corpus]

elifself。SimCalType = = ' Similarity-LSI-index ':

lsi_model =模型。LsiModel(語料庫)

語料庫_ LSI = LSI _ model[語料庫]

自我。_相似性=相似性。相似性(自我。SimCalType,corpus_lsi,\

num_features=self.num_features,num_best=self.num_best)

test _ cut _ raw = list(jieba . cut(self . test _ document))

test _ corpus = dictionary . doc 2 bow(test _ cut _ raw)

自我。_ test _ corpus = LSI _ model[test _ corpus]

自我。打印輸出()

defPrint_Out(self):

string = '最相似的材料是'

fortplinrange(len(self。_相似性[自我。_test_corpus])):

iftpl!= len(自我。_相似性[自我。_test_corpus]) -1:

string =字符串+ str(self。_相似性[自我。_test_corpus][tpl][0]) \

+'('+ str(self。_相似性[自我。_test_corpus][tpl][1]) +'),'

否則:

string =字符串+ str(self。_相似性[自我。_test_corpus][tpl][0]) \

+'('+ str(self。_相似性[自我。_test_corpus][tpl][1]) +')'

打印(字符串)

if__name__=='__main__ ':

raw_documents = [

0 1 19,中信集團與騰訊在深市簽署戰略框架協議,宣布將推進雲與大數據、區塊鏈、人工智能等技術領域的業務合作,積極探索實體產業數字化轉型升級之路。,

1浦發銀行公告稱,公司成都分行因違規信貸業務等違法違規行為被銀監會罰款4.62億元,罰款金額全額計入公司2017年度損益,對公司業務發展和持續經營無重大不利影響。,

2浦發銀行被罰4.62億元回應浦發銀行成都分行違規:從浦發銀行總行獲悉,浦發銀行對成都分行違規發放貸款案深感尷尬;我們堅決支持和接受監管部門的調查,同時將以此為鞭策,加強自身管理,堅持從嚴治理,始終把合法合規經營作為未來業務發展的根本。(蔡邑)’,

3.蘇測公告:公司首次公開發行前發行的65,438+0,332,000股將於6月24日解禁,占公司總股本的65,438+0%;解禁日實際流通股65,438+0,226,5438+0.5萬股,占總股本的9.73%。本次申請解除股份限售的股東為蘇州測試儀器總廠及鐘瓊華、、吳、陳穎等四名自然人股東。" ,

據報道,波士頓科學和國藥控股的壹家子公司參與了對XIO子公司Lumenis的競購。,

5蘇寧尚雲回復深交所問詢函:2065438+2007年7月,蘇寧金融研究院正式成立區塊鏈實驗室,開展區塊鏈技術及其在金融行業的應用研究,旨在利用區塊鏈技術為蘇寧金夫業務和蘇寧銀行業務提供技術支持。蘇寧銀行區塊鏈國內信用證信息傳輸系統采用聯盟鏈模式,僅在聯盟銀行之間免費使用,不對外提供直接服務。這個系統沒有直接收入。,

馬龍環衛公告稱,公司654.38+600億首次公開發行限售股將於654.38年6月26日上市流通,涉及654.38+07名股東,包括現任董事、監事、高管張桂鳳。,

航天工程7日發布公告,公司首次公開發行的3.24億股限售股將於6月29日上市流通。涉及的股東有中國運載火箭技術研究院、航天投資控股有限公司、北京航天動力研究所、北京航天產業投資基金(有限合夥)和全國社保基金理事會劃轉的兩戶。,

大千生態公告,公司與江蘇大千設計院有限公司組成的聯合體已中標高淳區東壩鎮EPC總承包項目,預計投資約654.38+0.4億元。該項目的順利實施將對公司今年的經營業績產生積極影響。,

9 1954 2月19日,蘇聯最高蘇維埃主席團在“兄弟般的烏克蘭與俄羅斯結盟300周年”之際通過決議,俄羅斯聯邦克裏米亞州劃給烏克蘭加入共和國。

10姬友股份公告,公司預計2017年度凈利潤較去年同期增加約4250萬元至5300萬元,增幅約80.49%-100.37%,上年同期盈利5280.38萬元。本期收入比上期增加較多,營業利潤比上期增加較多;收到的政府補助、理財收益等非經常性損益對公司凈利潤的影響約為3200萬元。,

11千山藥機:大股東質押股份跌破平倉線。千山藥機公告稱,第壹大股東、實際控制人之壹劉向華合計持有公司14.83%的股份。目前,劉向華* * *質押公司13.78%股權。劉向華質押給國泰君安證券的2980.8萬股已跌破平倉線。該公司目前正在接受證券及期貨事務監察委員會的調查。根據有關規定,公司大股東在調查期間不得減持(包括股權質押和清算)。因此,本次劉向華質押的股票將跌破平倉線,不會導致公司實際控制權發生變化。,

12天馬精化:子公司擬逾億元控股中科電子,加大供應鏈管理發展戰略。,

' 13超華科技'公告,近日接到持股子公司貝爾信員工通知,報告貝爾信公司近期無法與其董事長鄭長春取得聯系。截至目前,該公司未能與貝爾信董事長鄭長春取得聯系。經與貝爾信主要股東討論並經貝爾信董事會批準,將由貝爾信現有管理層組成臨時工作組,維護貝爾信正常的生產經營秩序。公司對貝爾信進行了全面核查,維護上市公司和股東利益。" ,

根據' 14洪升科技公告,公司預計2017年度實現利潤2.8億元至2.9億元,同比增長20.65%至24.96%,去年同期實現利潤2.32億元。‘報告期內,公司預計非經常性損益對凈利潤的影響約為65,438+00萬元-65,438+03萬元。’,

15徐東光電公告稱,控股股東徐東集團員工成長計劃已完成購買公司股份,合計購買1119010,000股,占總股本的0.2%,合計成交約102萬元。

]

obj 1 = gensim exp(raw _ documents,'數字化轉型升級路徑',' similarity-tfidf-index ',600,5)。卡爾西姆()

Obj2 = GensimExp(raw_documents,'信貸業務非法處理',' similarity-tfidf-index ',600,3)。卡爾西姆()

Obj3 = GensimExp(raw_documents,'本期收入比上期增加了','相似性-LSI-index ',400,2)。卡爾西姆()

實驗結果:

因為語料庫不多,返回的相似文本數量少,但可以看出判斷是正確的。(PS:分詞過程中未處理停用詞)

參考:

/gensim/tutorial.html

  • 上一篇:黃金期貨的交易規則是什麽?
  • 下一篇:內資公司模式介紹_內資公司基本介紹
  • copyright 2024律師網大全