我们如何将自定义同义词列表提供给 NLP 模型(首选 Word2Vec)

How can we feed our custom synonym word list to NLP model (Word2Vec is preferred)

我正在使用 Word2Vec 模型根据我的数据制作矢量化器。 我的数据有 custom/business 个定义的同义词列表,我希望我的 NLP 模型应该考虑这个列表。 例如,如果“A”是“B”的同义词,那么如果我尝试使用 Word2Vec 查找“A”的同义词,那么它应该会给出 100% 匹配的“B”。

如果我能够达到上述要求,我也可以尝试不同的NLP模型。

由于您的同义词列表非常小,我建议您训练模型,然后遍历同义词列表,重新分配模型中每个同义词的词向量(并添加训练中不存在的词向量)数据)。这当然会破坏有关学习到的词向量的任何信息,这取决于您的用例,这可能是个问题。

一些替代方法:

  1. 将词向量重新分配给它们的组成同义词的组合(例如 mean)。不幸的是,如果你的同义词已经有相似的向量,这种方法效果最好,我认为情况并非如此。一般来说,这可能会丢失比它保留的更多的语义信息。
  2. 将同义词添加为重复词(即,一个给定的词将有两个向量,一个从训练数据中推断出,另一个等于它的同义词)。这保留了语义关系,但在您需要使用可能具有同义词的向量执行计算时会产生歧义。这有多大问题取决于您的用例。
  3. 根据特定约束(同义词相等)对词嵌入应用投影。我从来没有尝试过这个,所以我不确定它如何影响你的模型,计算起来有多困难,或者你需要优化什么 objective 函数。
  4. 预处理您的文本。是的,这需要一段时间,但现在计算很便宜。