НЛП - Gazetteer обмануть?

16

В НЛП есть понятие, Gazetteerкоторое может быть весьма полезным для создания аннотаций. Насколько я понимаю:

Газетир состоит из набора списков, содержащих имена объектов, таких как города, организации, дни недели и т. Д. Эти списки используются для поиска вхождений этих имен в тексте, например, для задачи распознавания именованных объектов.

Так что это по сути поиск. Разве это не обман? Если мы используем Gazetteerдля обнаружения именованных объектов, то там не так много Natural Language Processingпроисходит. В идеале я хотел бы обнаружить именованные объекты с использованием NLPметодов. Иначе, как это может быть лучше, чем регулярное выражение?

AbtPst
источник
2
Я бы не назвал это мошенничеством как таковым ... если только вы не были специально разработаны для поиска по словарю. Я также не назвал бы это традиционным НЛП, хотя вы никогда не должны упускать из виду существенный пробег, который вы можете получить от простого решения проблемы.
Кайл.
1
Возможно, вы могли бы использовать его для обучения распознавателя именованных сущностей. Что будет делать ваша газета с сущностями, не входящими в ее корпус?
Эмре
я надеялся, что при правильном использовании pos-тегов и существительных фрагментов мне никогда не понадобится справочник. это возможно?
AbtPst
2
В промышленности нет такого понятия, как мошенничество. :-) Но в любом случае, если вам нужен «общий подход», вам нужно начать с некоторых аннотированных вручную данных, то есть начального числа, чтобы узнать контексты, в которых появляются NE, чтобы узнать больше NE.
Адам Биттлингмайер

Ответы:

15

Gazetteer или любая другая опция преднамеренно фиксированного размера кажется очень популярным подходом в академических работах, когда у вас есть проблема конечного размера, например, NER в фиксированных корпусах, или POS-тегирование или что-то еще. Я не считаю это мошенничеством, если только вы не будете использовать функцию соответствия Gazetteer.

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

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

Например, предположим, что у вас есть полный набор бесконечных вариаций всех имен людей, что делает NER обычного человека нерелевантным, но теперь вы пытаетесь решить, способен ли объект, упомянутый в тексте, петь. Вы будете полагаться на особенности включения в свой справочник Person, которые дадут вам много ложных срабатываний; затем вы добавите ориентированную на глагол функцию « Субъект глагола петь », и это, вероятно, даст вам ложные срабатывания от всех видов объектов, таких как птицы, животик, когда вы голодны, и пьяный парень, который думаетон может петь (но, честно говоря, он не может), - но эта функция, ориентированная на глагол, будет уравновешиваться с вашим личным справочником, чтобы назначать позитивный класс «Певец» людям, а не животным или любым другим объектам. Впрочем, это не решает дела пьяного исполнителя.

chewpakabra
источник
4

Использование списка сущностей имеет несколько недостатков:

  • Список закрыт
  • Список не зависит от контекста. Вам нужен контекст, чтобы различать «белый дом» и «белый дом».
  • Составление списка требует большого труда
  • Список также может содержать ошибки.
  • Это похоже на обман (или в списке не используются идеи НЛП).

Вы можете справиться с этими недостатками, следуя предложенному направлению @emre, и использовать список для изучения классификатора.

Например, вы можете использовать токены рядом с сущностью и выучить правило так: «Я живу в Х» - это показатель места, а «Я разговаривал с Х» - это показатель человека. Вы можете сыграть в эту игру несколько раундов, увеличив свой список хитами правил и используя новый список, чтобы узнать больше правил.

Обратите внимание, что в этом обучении вы будете вносить шум в данные, поэтому в большинстве случаев обучение должно быть таким простым.

Dal
источник