Gensim: ручная генерация обучающих наборов (target, context, label) - PullRequest
0 голосов
/ 12 июня 2019

Я задаю этот вопрос как ленивый исследователь, который просто хочет быстро опробовать случайные сумасшедшие идеи, не тратя кучу времени на изобретения колес. Я полностью понимаю, что это не те случаи использования.

Чтобы проверить ряд гипотез, я бы с удовольствием

  • генерирует кортежи (target, context, +1) по-другому, вместо скользящего окна по умолчанию.
  • генерирует кортежи отрицательных выборок (target, random_context, -1) на основе некоторых правил вместо случайных ничьих NCE.

Например, я могу получить дерево разбора предложения и использовать отношения родитель-потомок для генерации кортежей, которые являются нелинейным окном (кто-то уже пробовал это в исследовательском сообществе НЛП, закодировано вручную ...) , Я также могу получить словарь антонимов для поиска и генерирования большего количества отрицательных выборок в дополнение к случайным (не уверен, может помочь с более быстрой конвергенцией).

Существуют ли некоторые частные функции-члены (которые начинаются с _XX), которые я могу переопределить для достижения этих целей?

1 Ответ

0 голосов
/ 12 июня 2019

К сожалению, нет простых точек расширения для изменения обучающих примеров (контекста -> слова) или выборки отрицательных примеров.

Конечно, полный исходный код доступен, и, следовательно, все возможно в виде исправлений или с использованием существующего кода в качестве отправной точки. Однако на практике ключевые циклы / решения по этим шагам эффективно выполняются только из оптимизированных процедур обучения Cython, которые немного сложнее для чтения / адаптации / тестирования / развертывания.

(Существует открытая проблема # 1623 для перефакторинга кода, чтобы упростить реализацию таких связанных вариантов Word2Vec. Но предыдущие попытки проекта якобы удовлетворить эту потребность, PR # 1777 , это было что-то вроде катастрофы, добавив больше слоев косвенных и разбросанных ключевых операций по новым классам, не предлагая видов точек расширения, которые действительно были нужны.)

...