gpt4 book ai didi

matrix - 如何在 text2vec 中对齐两个 GloVe 模型?

转载 作者:行者123 更新时间:2023-12-02 03:09:19 26 4
gpt4 key购买 nike

假设我已经基于两个不同的语料库训练了两个独立的 GloVe 向量空间模型(使用 R 中的 text2vec)。这样做可能有不同的原因:例如,两个基础语料库可能来自两个不同的时间段,或者两个非常不同的流派。我有兴趣比较这两个语料库之间单词的用法/含义。如果我简单地连接两个语料库和它们的词汇表,那是行不通的(具有不同用法的词对在向量空间中的位置只会在“中间”的某个地方)。

我最初的想法是只训练一个模型,但是在准备文本时,为每个单词附加一个后缀 (_x, _y)(其中 x 和 y 代表单词 A 在语料库 x/y 中的用法),如以及保留每个没有后缀的语料库的单独副本,以便最终连接的训练语料库的词汇表将包括:A,A_x,A_y,B,B_x,B_y ...等,例如:

this is an example of corpus X
this be corpus Y yo
this_x is_x an_x example_x of_x corpus_x X_x
this_y be_y corpus_y Y_y yo_y

我认为 A 和 B 的“平均”用法可以用作空间的某种“坐标”,并且我可以测量同一空间中 A_x 和 A_y 之间的距离。但后来我意识到,由于 A_x 和 A_y 从未出现在同一上下文中(由于所有单词的后缀,包括它们周围的单词),这可能会扭曲空间并且不起作用。我也知道有一种称为正交 procrustes 问题的东西,它与对齐矩阵有关,但我不知道如何针对我的情况实现它。

将两个 GloVe 模型(最好在 R 中,以便它们与 text2vec 一起工作)适合一个公共(public)向量空间的合理方法是什么,如果我的最终目标是测量词对的余弦相似度,它们在正字法上相同,但出现在两个不同的语料库中?

最佳答案

我看到了 2 种可能的解决方案:

  1. 尝试用第一个模型的解初始化第二个手套模型,希望第二个模型在拟合过程中坐标系不会发生太大变化
  2. 拟合两个模型并得到词向量矩阵 A、B。然后找到使 A 和 B 的行之间的角度之和最小的旋转矩阵(还不知道该怎么做)

同时检查 http://nlp.stanford.edu/projects/histwords/ , mb 它将有助于方法论。

这似乎是一个很好的问题 https://math.stackexchange.com/

关于matrix - 如何在 text2vec 中对齐两个 GloVe 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40697463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com