В НЛП есть понятие, Gazetteer
которое может быть весьма полезным для создания аннотаций. Насколько я понимаю:
Газетир состоит из набора списков, содержащих имена объектов, таких как города, организации, дни недели и т. Д. Эти списки используются для поиска вхождений этих имен в тексте, например, для задачи распознавания именованных объектов.
Так что это по сути поиск. Разве это не обман? Если мы используем Gazetteer
для обнаружения именованных объектов, то там не так много Natural Language Processing
происходит. В идеале я хотел бы обнаружить именованные объекты с использованием NLP
методов. Иначе, как это может быть лучше, чем регулярное выражение?
nlp
named-entity-recognition
AbtPst
источник
источник
Ответы:
Gazetteer или любая другая опция преднамеренно фиксированного размера кажется очень популярным подходом в академических работах, когда у вас есть проблема конечного размера, например, NER в фиксированных корпусах, или POS-тегирование или что-то еще. Я не считаю это мошенничеством, если только вы не будете использовать функцию соответствия Gazetteer.
Однако, когда вы обучаете какую-либо модель НЛП, которая опирается на словарь во время обучения, вы можете получить реальную производительность намного ниже, чем показала бы ваша первоначальная проверка, если вы не можете включить все объекты, представляющие интерес, в справочник (и почему тогда вы нужна ли эта модель?) потому что ваша обученная модель будет полагаться на эту функцию в некоторый момент, и в случае, когда другие функции будут слишком слабыми или не описательными, новые объекты, представляющие интерес, не будут распознаваться.
Если вы используете Gazetteer в своих моделях, вы должны убедиться, что эта функция имеет функцию счетчика, позволяющую сбалансировать модель, чтобы простое совпадение по словарю не было единственной функцией положительного класса (и что более важно, gazetteer должен сопоставлять не только положительные примеры, но и отрицательные).
Например, предположим, что у вас есть полный набор бесконечных вариаций всех имен людей, что делает NER обычного человека нерелевантным, но теперь вы пытаетесь решить, способен ли объект, упомянутый в тексте, петь. Вы будете полагаться на особенности включения в свой справочник Person, которые дадут вам много ложных срабатываний; затем вы добавите ориентированную на глагол функцию « Субъект глагола петь », и это, вероятно, даст вам ложные срабатывания от всех видов объектов, таких как птицы, животик, когда вы голодны, и пьяный парень, который думаетон может петь (но, честно говоря, он не может), - но эта функция, ориентированная на глагол, будет уравновешиваться с вашим личным справочником, чтобы назначать позитивный класс «Певец» людям, а не животным или любым другим объектам. Впрочем, это не решает дела пьяного исполнителя.
источник
Использование списка сущностей имеет несколько недостатков:
Вы можете справиться с этими недостатками, следуя предложенному направлению @emre, и использовать список для изучения классификатора.
Например, вы можете использовать токены рядом с сущностью и выучить правило так: «Я живу в Х» - это показатель места, а «Я разговаривал с Х» - это показатель человека. Вы можете сыграть в эту игру несколько раундов, увеличив свой список хитами правил и используя новый список, чтобы узнать больше правил.
Обратите внимание, что в этом обучении вы будете вносить шум в данные, поэтому в большинстве случаев обучение должно быть таким простым.
источник