关于语料库中OOV未登录词的处理方式

在word2vec训练出来的词向量语料库中,对OOV问题是无法解决的,

方式一:参考word2vec工具中的一段代码

# 加载模型
wvmodel = gensim.models.Word2Vec.load(r'E:\pyCharmProject_new\word2vecTest\model\wiki_corpus.bin')

# Remove out-of-vocabulary words.
        len_pre_oov1 = len(document1)
        len_pre_oov2 = len(document2)
        document1 = [token for token in document1 if token in wvmodel]
        document2 = [token for token in document2 if token in wvmodel]
        diff1 = len_pre_oov1 - len(document1)
        diff2 = len_pre_oov2 - len(document2)
        if diff1 > 0 or diff2 > 0:
            logger.info('Removed %d and %d OOV words from document 1 and 2 (respectively).', diff1, diff2)

其实就是把未登录词直接在分布式表示之前就移除了。

方式二:fastText训练词向量

fastText中在遇到未登录词时会使用一个相似向量来表示未登录词。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值