Создание примеров контекста относительно отношения внедрения / значения ребра соответствующего объекта? - PullRequest
1 голос
/ 29 февраля 2020

Я пытаюсь создать свой собственный набор корпусных / текстовых данных для обучения специфики домена c NER. Мои объекты в основном основаны на цифрах и частично зависят от контекста, который необходимо классифицировать Нет определенного набора данных c, подходящего для моего случая. Таким образом, я генерирую свои собственные тексты и контексты.

Идея, которую я имел в виду, заключалась в том, чтобы генерировать контексты, основанные на словах, вложение которых похоже на сущность, которую я хочу классифицировать. Убедиться, что контекст постоянно меняется, чтобы сохранить обобщенную модель c и не превышать ее по заданным c словам.

Сравнимый пример (не мой конкретный случай c) будет следующим: Попытка пометить тегом IP-адреса в текстах. Моя идея состоит в том, чтобы найти все слова, связанные с встраиванием текста слова IP или computer. Подобное встраивание, например, будет software со значением ребра 0.8.

Мой вопрос:

  • Как можно легко извлечь похожие слова из слоя вложения (например, word2ve c?). И как бы я определил точку отсечения? Перечислите все слова от наивысшего сходства к наименьшему и вручную определите точку отсечения (когда я считаю слово недостаточно похожим в качестве контекста для сущности ip address). Или достаточно автоматизированного процесса? Извлечение всех слов до заданной точки отсечения, например, 0.8 края сходства / значения отношения.
  • Сколько выборок я должен сгенерировать относительно сходства слов объекта? Например, я сгенерирую 100 образцов текста для сущности IP address, тогда я должен сгенерировать только 80 образцов контекста на основе слова software, поскольку оно имеет 0.8 значение сходства края / отношения с ip address?

1 Ответ

0 голосов
/ 04 марта 2020

На ваш вопрос сложно ответить, потому что он такой абстрактный. Непонятно, что такое домен; нет примеров ваших «псевдотекстов»; нет никаких промежуточных результатов от того, что вы пробовали, но обнаружили, что не хватает, чтобы выдвигать предложения для улучшения.

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

Например, значения подобия из таких моделей, даже если они всегда находятся в диапазоне от -1.0 до 1.0, плохо соответствуют человеческим представлениям о "X% подобии". Если вы измените метапараметры модели, у жетонов все равно могут быть очень похожие «первые 10» соседей, но с сильно отличающимися значениями косинусоподобия. (Порядок рангов может быть гораздо более значительным / стабильным, чем необработанные косинусоподобные числа, по крайней мере до тех пор, пока вы не решите заморозить некоторые аспекты метапараметров модели и обучающих данных.) Таким образом, ни у кого нет способа порекомендовать пороговое значение, например * 1007. * или даже убедитесь, что любой такой порог имеет смысл, без дополнительных предметных / модельных / конечных целей, указанных c для экспериментов. (В этот момент возможно могут быть обнаружены некоторые пороги c, специфичные для проекта, в абсолютных косинус-сходствах или верхних процентилях всех сходств или определенных списках соседей.)

Аналогично для генерации синтаксических c текстовых примеров нет фиксированных ответов. Вам нужно истинное разнообразие, отражающее тонкости основного домена. 1000 выборок не лучше, чем 100, если они почти идентичны повторениям - вы можете просто повторить 100 выборок по 10 раз каждая или увеличить тренировочные «эпохи» модели, чтобы получить тот же эффект - но без истинного разнообразия в данных модели больше не буду учиться Итак, еще раз, вам нужно будет многократно экспериментировать с вашими данными, моделью и целями конечной полезности.

Некоторые применяли алгоритмы, подобные word2ve c, к гигантским графам, создавая их «тексты» из случайных блужданий различной длины через граф. То, как создаются такие обходы, т. Е. Должен ли конкретный «узел» / уникальный-токен «появляться» в обучающих данных десятки, сотни или тысячи раз, - может зависеть от того, насколько важен этот узел / токен в последующих приложениях, сколько реального разнообразия есть у его входов и выходов и т. д. 1019 *. Опять же, это вопрос экспериментов и проб и ошибок.

...