word2vec缺少单词怎么办?

论坛 期权论坛 期权     
机器学习算法与自然语言处理   2019-7-14 17:09   2551   0
点击上方“MLNLP”,选择“星标”公众号

重磅干货,第一时间送达
编辑:忆臻

https://www.zhihu.com/question/329708785
本文仅作为学术交流分享,如果侵权,会删文处理

笔者在知乎上发现了一个叫“word2vec缺少单词怎么办?”的问题,很有意思,下面与大家分享一些大佬们的见解,希望对你的研究有帮助。


知乎高质量回答:

作者:霍华德
https://www.zhihu.com/question/329708785/answer/739525740

1. unk技巧
在训练word2vec之前,预留一个符号,把所有stopwords或者低频词都替换成unk,之后使用的时候,也要保留一份词表,对于不在word2vec词表内的词先替换为unk。
2. subword技巧
这个技巧出自fasttext,简而言之就是对oov词进行分词,分词之后再查找,找到的就保留,找不到的继续分词,直到最后分到字级别,肯定是可以找到的对应字向量的。
3. BPE技巧
BPE(byte pair encoder),字节对编码,也可以叫做digram coding双字母组合编码。BPE首先把一个完整的句子分割为单个的字符,频率最高的相连字符对合并以后加入到词表中,直到达到目标词表大小。对测试句子采用相同的subword分割方式。BPE分割的优势是它可以较好的平衡词表大小和需要用于句子编码的token数量。BPE的缺点在于,它不能提供多种分割的概率。
此外还有很多技巧啦,如word2vec的增量学习,这里就不赘述了。
作者呼广跃
https://www.zhihu.com/question/329708785/answer/739525740

可以在使用之前对词库进行下处理,比如把一些未识别词加到词库里,或者根据语料库学习出新词

作者马东什么
https://www.zhihu.com/question/329708785/answer/739525740

是的,你应该是忘了新语料和旧语料进行一样的停用词处理,gensim的未登陆词我记得使用全0还是随机值来代替的

作者:苏格兰折耳喵
https://www.zhihu.com/question/329708785/answer/739525740

可以试试对word2vec模型进行增量学习


扫码加入Python算法学习群,备注“学校、机构+昵称”未按要求备注不予通过哦






推荐阅读:
通俗有趣的AI与机器学习免费书

从Word2Vec到Bert,聊聊词向量的前世今生(一)

清华姚班出身,95后博士生陈立杰获理论计算机顶会最佳学生论文

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:20
帖子:4
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP