3

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

我最初的想法是只训练一个模型,但是在准备文本时,为每个单词附加一个后缀 (_x, _y)(其中 x 和 y 代表语料库 x/y 中单词 A 的用法),并保留没有后缀的每个语料库的单独副本,因此最终连接的训练语料库的词汇表将包括: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不同的语料库?

4

1 回答 1

1

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

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

还要检查http://nlp.stanford.edu/projects/histwords/,它有助于方法论。

似乎这对https://math.stackexchange.com/来说是个好问题

于 2016-11-20T15:26:39.143 回答