2016-11-19 8 views
2

Предположим, что я подготовил две отдельные модели векторного пространства GloVe (используя text2vec в R) на основе двух разных корпусов. Могут быть разные причины для этого: два базовых корпуса могут поступать из двух разных периодов времени или, например, из двух очень разных жанров. Мне было бы интересно сравнить использование/смысл слов между этими двумя корпусами. Если бы я просто объединил два корпуса и их словари, это не сработало бы (расположение в векторном пространстве для пар слов с разными обычаями было бы просто где-то в «середине»).Как выровнять две модели GloVe в 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_x и A_y в том же пространстве. Но потом я понял, что, поскольку A_x и A_y никогда не встречаются в одном и том же контексте (из-за суффиксации всех слов, в том числе вокруг них), это, вероятно, искажает пространство и не работает. Я также знаю, что есть что-то, называемое проблемой ортогональных прокрустов, которая связана с выравниванием матриц, но я не знаю, как реализовать ее для моего случая.

Что бы разумный способ установить две модели с перчатками (предпочтительно в R и так, что они работают с text2vec) в общий вектор пространства, если моя конечная цель заключается в измерении косинуса сходство пар слов, которые орфографически идентичны, но встречаются в двух разных корпусах?

ответ

0

Я вижу 2 возможного решения:

  1. попробовать инициализировать вторую модель перчаток с раствором из первых и надеюсь, что система координат не изменится слишком сильно во время посадки второй модели
  2. подходит два модели и получить слово вектор матрицы а матрицу, В. Тогда найти вращения, которые минимизируют сумму углов между рядами а и в (не знаю, как сделать это еще)

Также проверьте http://nlp.stanford.edu/projects/histwords/, мб будет помогите мне thodology.

Кажется, это хороший вопрос для https://math.stackexchange.com/

+0

Идея 2 является то, что histwords вы связаны, кажется, делает - но здесь же, я не знаю, как сделать это (пока) тоже. (также, ничего себе, вы действительно следите за вопросами относительно своего пакета, наград за преданность!) – user3554004

+0

Я подписался на тег SO "text2vec" :-) –

 Смежные вопросы

  • Нет связанных вопросов^_^