實際應用中的詞向量維度使用注意

2022-06-16 09:12:10 字數 3539 閱讀 7672

nlp業務中,無可避免地要使用詞向量做特徵構建,維度過大導致計算量複雜,在百萬級資料處理中速度非常慢,為了權衡工程需要,我們要根據實際情況做選取。我對比了不同緯度在使用上的效果,確定乙個合理的範圍,供大家根據自己的業務操作。

wv.most_similar(['主管'], topn=30) 

dim=10

[('部', 0.9898655414581299),

('人員', 0.9882362484931946),

('副', 0.9846471548080444),

('兼', 0.9810933470726013),

('總', 0.9808691143989563),

('督導', 0.9800705909729004),

('及', 0.9787922501564026),

('助理', 0.978703498840332),

('和', 0.9768193960189819),

('組', 0.9762864112854004),

('主任', 0.9733006358146667),

('經理', 0.9703651666641235),

('副經理', 0.9689823985099792),

('文員', 0.9678162932395935),

('實習', 0.967551052570343),

('執行', 0.9675098061561584),

('駐店', 0.9662008881568909),

('類', 0.966163158416748),

('見習', 0.9655701518058777),

('現場', 0.9648318886756897),

('日常', 0.9646518230438232),

('外派', 0.9643538594245911),

('崗', 0.9629733562469482),

('儲備', 0.9622340202331543),

('幹部', 0.9614977240562439),

('部長', 0.9574716091156006),

('維護員', 0.9573255181312561),

('講解員', 0.9559121131896973),

('副總', 0.9538909196853638),

('協助', 0.9534264802932739)]

dim=100

[('高階專員', 0.7589221596717834),

('經理', 0.7558820247650146),

('人員', 0.7198249101638794),

('內勤', 0.7181121110916138),

('總監', 0.7111504077911377),

('業務主管', 0.7099388837814331),

('主管', 0.7039210796356201),

('老客戶', 0.6933689117431641),

('調研', 0.6911988258361816),

('客服', 0.690113365650177),

('文員', 0.6886807084083557),

('對接', 0.6857904195785522),

('話務', 0.6799235343933105),

('外聯', 0.6787949800491333),

('顧問', 0.6785675287246704),

('宣傳員', 0.6771835088729858),

('運營部', 0.6687096357345581),

('職員', 0.6678380370140076),

('副經理', 0.6664285659790039),

('營銷員', 0.6653130650520325),

('商務代表', 0.6643666625022888),

('稽查', 0.6642056703567505),

('副總', 0.6620935201644897),

('運營', 0.6619923114776611),

('訂單', 0.6611194014549255),

('資訊員', 0.6592134833335876),

('文職', 0.6564882397651672),

('部長', 0.6559721231460571),

('推廣', 0.6552845239639282),

('運營商', 0.6543294787406921)]

dim=45

[('文員', 0.8804426193237305),

('經理', 0.868613600730896),

('人員', 0.862251341342926),

('內勤', 0.8554402589797974),

('業務主管', 0.8453125953674316),

('總監', 0.8363998532295227),

('客服', 0.827606201171875),

('高階專員', 0.8149360418319702),

('主管', 0.8101118803024292),

('副總', 0.7973485589027405),

('職員', 0.7962808012962341),

('支援', 0.7902414202690125),

('實習生', 0.7901945114135742),

('對接', 0.7889500856399536),

('業務員', 0.7869356870651245),

('顧問', 0.785954475402832),

('推廣員', 0.7852128744125366),

('業務經理', 0.7840945720672607),

('員', 0.781104564666748),

('運營', 0.7787041068077087),

('負責人', 0.7733438014984131),

('老客戶', 0.7725980877876282),

('推廣', 0.7715122699737549),

('文職', 0.7711169719696045),

('調研', 0.7709962129592896),

('訂單', 0.7706228494644165),

('渠道', 0.7694729566574097),

('業務', 0.7682620286941528),

('總助', 0.7671991586685181),

('資訊員', 0.7657262086868286)]

由上可知,dim=10引數空間不足,查詢時存在相關性不足現象,在實際使用中也發現了很多問題,這是客觀存在的。

當dim=45,整體表現還是很好的,維度空間也不是那麼大;dim=100時,當然表現還是很好的。

個人認為,在工程中使用40-60維度的詞向量基本可滿足需求,計算量也不是很大。

SVN實際應用中的注意事項

一 提交之前先更新 1.svn更新的原則是要隨時更新,隨時提交。當完成了乙個小功能,能夠通過編譯並且自己測試之後,謹慎地提交。2.如果在修改的期間別人也更改了svn的對應檔案,那麼commit就可能會失敗。如果別人和自己更改的是同乙個檔案,那麼update時會自動進行合併,如果修改的是同一行,那麼合...

SVN實際應用中的注意事項

一 提交之前先更新 1.svn更新的原則是要隨時更新,隨時提交。當完成了乙個小功能,能夠通過編譯並且自己測試之後,謹慎地提交。2.如果在修改的期間別人也更改了svn的對應檔案,那麼commit就可能會失敗。如果別人和自己更改的是同乙個檔案,那麼update時會自動進行合併,如果修改的是同一行,那麼合...

SVN實際應用中需要注意的問題

一 提交之前先更新 1.svn更新的原則是要隨時更新,隨時提交。當完成了乙個小功能,能夠通過編譯並且自己測試之後,謹慎地提交。2.如果在修改的期間別人也更改了svn的對應檔案,那麼commit就可能會失敗。如果別人和自己更改的是同乙個檔案,那麼update時會自動進行合併,如果修改的是同一行,那麼合...