#keras #nlp #lstm #named-entity-recognition
#keras #nlp #lstm #распознавание именованных объектов
Вопрос:
Я пытаюсь реализовать пользовательский NER с помощью LSTM. Требуется ли на этапах предварительной обработки удалять знаки препинания, такие как двойные кавычки, точки и запятые? Добавляют ли они какое-либо значение, если сохраняются? Поскольку каждый документ представляет собой набор предложений.
Комментарии:
1. Запятые могут спасти жизни: Давай поедим, дедушка ПРОТИВ. Давайте съедим дедушку.
2. Да, они могут иметь значение, а также то, как вы маркируете свои предложения, например: Давай, ешь, дедушка против Давай, ешь, дедушка; т.е. Убедитесь, что запятая не привязана к токену.
Ответ №1:
Знаки препинания могут содержать много информации о том, где начинаются и заканчиваются объекты. Например, очень маловероятно, что имя объекта будет содержать одинарную двойную кавычку, начинаться с запятой и т.д. Это вся информация, которую RNN получает очень быстро и помогает производительности модели.
Однако будьте осторожны, вы правильно маркируете вводимый текст. Если вы разделите текст только пробелами, все знаки препинания останутся прикрепленными к словам, и это, скорее всего, приведет к ненужным маркерам вне словаря. Удаляя знаки препинания, вы избегаете этой проблемы, но теряете важную информацию. В Python вы можете, например, использовать spacy или sacremoses для токенизации.