为OOV单词查找最相似的单词

2024-09-26 17:43:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找使用gensim的最相似的词汇。大概是这样的:

    def get_word_vec(self, model, word):
    try:
        if word not in model.wv.vocab:
            mostSimWord = model.wv.similar_by_word(word)
            print(mostSimWord)
        else:
            print( word )
    except Exception as ex:
        print(ex)

有没有办法完成这项任务?除gensim之外的其他选择也受到欢迎


Tags: selfgetmodelifdefnot词汇ex
1条回答
网友
1楼 · 发布于 2024-09-26 17:43:10

如果训练的是FastText模型而不是Word2Vec模型,则除了完整单词外,它还固有地学习单词片段(大小范围可配置)的向量

用英语和;许多其他(但不是全部)未知词通常是拼写错误、替代形式,或与knwon词的词根和后缀有关。因此,为子词设置向量,然后使用这些向量为未知词总结出一个好的猜测向量,可以很好地工作,值得一试——比忽略这些词或使用完全随机或原点向量要好

没有内置的方法试图从一组现有的不基于FastText/子词的词向量中提取这样的关系,但理论上是可能的。您可以计算到所有已知单词的编辑距离或共享子单词的计数,&;通过N个最近单词的加权组合创建猜测向量。(这对于拼写错误和罕见的替代拼写可能非常有效,但对于真正不存在的新单词则没有这么多。)

相关问题 更多 >

    热门问题