Повторное обучение NER v1.8.2 от spaCy - Объем обучения и сочетание типов сущностей

Я нахожусь в процессе (пере) обучения распознавателя именованных сущностей spaCy, и у меня есть несколько сомнений в том, что, надеюсь, более опытный исследователь / практик поможет мне разобраться:

  1. Если несколько сотен примеров считаются «хорошей отправной точкой», то к какому разумному числу следует стремиться? Является ли 100 000 единиц / лейбла чрезмерным?
  2. Если я введу новый ярлык, будет ли лучше, если количество объектов, которые помечены, будет примерно одинаковым (сбалансированным) во время обучения?
  3. Что касается смешивания «примеров других типов сущностей»:

    • мне просто добавить случайные известные категории / метки в свой обучающий набор, например: ('The Business Standard published in its recent issue on crude oil and natural gas ...', [(4,21, 'ORG')], )?

    • могу ли я использовать один и тот же текст для разных этикеток? например ('The Business Standard published in its recent issue on crude oil and natural gas ...', [(55,64, 'COMMODITY')], )?

    • в аналогичной заметке предположим, что я хочу, чтобы spaCyto также распознал второй COMMODITY, могу ли я просто использовать то же предложение и обозначить другой регион, например. ('The Business Standard published in its recent issue on crude oil and natural gas ...', [(69,80, 'COMMODITY')], )? Так это и должно быть сделано?

    • какое соотношение между новыми и другими (старыми) этикетками считается разумным

Спасибо

PS Я работаю с Python2.7 в Ubuntu 16.04, используя spaCy 1.8.2


person Moritz    schedule 11.05.2017    source источник
comment
эй, ты понял это для своего набора данных и проблемы? Не могли бы вы сообщить нам свое понимание?   -  person randomSampling    schedule 27.06.2018
comment
@randomSampling Я добавил (единственный) ответ ниже в мае прошлого года, в котором резюмируются результаты моего исследования по этой теме. Вам нужно будет немного подробнее рассказать о том, что именно вы просите, чтобы я дал вам более подробный ответ. Также обратите внимание, что этот вопрос и ответ, относящиеся к spacy 1.8, spacy ›= 2, содержат довольно подробную документацию по обучению и расширенный NER.   -  person Moritz    schedule 03.07.2018


Ответы (1)


Чтобы получить полный ответ от Мэтью Хоннибала, ознакомьтесь с выпуском 1054 на странице github spaCy. Ниже приведены наиболее важные моменты, связанные с моими вопросами:

Вопрос (Q) 1: Если несколько сотен примеров считаются «хорошей отправной точкой», то к какому количеству можно стремиться? Является ли 100 000 единиц / лейбла чрезмерным?

Ответ (A): Каждая задача машинного обучения будет иметь разные примеры / кривые точности. Вы можете получить представление об этом, потренировавшись с меньшим количеством данных, чем у вас, и посмотрев, как выглядит кривая. Если у вас есть 1000 примеров, попробуйте потренироваться с 500, 750 и т. Д. И посмотрите, как это повлияет на вашу точность.

Q 2: Если я введу новый ярлык, лучше всего, если количество объектов этого ярлыка будет примерно одинаковым (сбалансированным) во время обучения?

A: Существует компромисс между тем, чтобы сделать градиенты слишком разреженными, и сделать проблему обучения слишком нерепрезентативной для реальных примеров.

Q 3: Что касается смешивания «примеров других типов сущностей»:

  • я просто добавляю случайные известные категории / метки в свой обучающий набор:

A: Нет, нужно аннотировать все объекты в этом тексте, поэтому в приведенном выше примере: ('The Business Standard published in its recent issue on crude oil and natural gas ...', [(4,21, 'ORG')], ) должно быть ('The Business Standard published in its recent issue on crude oil and natural gas ...', [(4,21, 'ORG'), (55,64, 'COMMODITY'), (69,80, 'COMMODITY')], )

  • могу ли я использовать один и тот же текст для разных этикеток ?:

A: Не так, как были приведены в примерах. См. Предыдущий ответ.

  • какое соотношение между новыми и другими (старыми) этикетками считается разумным ?:

A: См. ответ 2.


PS: двойные цитаты - это прямые цитаты из ответа на проблему на github.

person Moritz    schedule 24.05.2017
comment
Я оставляю этот вопрос открытым. На случай, если кто-то с более практическим опытом захочет взвесить. - person Moritz; 24.05.2017
comment
нужен лучший практический ответ - person SuperUser; 06.06.2019
comment
Принимается только существующий ответ после того, как он оставлен открытым в течение 3 лет. Обратите внимание, что spacy перешел на более новые и лучшие способы ... spacy.io - person Moritz; 31.08.2020