zoukankan      html  css  js  c++  java
  • 实际应用中的词向量维度使用注意

    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维度的词向量基本可满足需求,计算量也不是很大。

  • 相关阅读:
    Python 正则表达式入门
    使用numpy与matplotlib.pyplot画图
    快乐python 零基础也能P图 —— PIL库
    Jieba库使用和好玩的词云
    python运用turtle 画出汉诺塔搬运过程
    有进度条圆周率计算
    用pythen画五角星
    pytest+allure+requests-接口自动化测试
    pytest---allure测试报告
    自动化测试---pytest
  • 原文地址:https://www.cnblogs.com/demo-deng/p/13866022.html
Copyright © 2011-2022 走看看