Как классифицировать токен на основе его контекста с помощью НЛП
Я хочу извлечь размеры опухолей из отчетов о гистопатологии. Размер измеряется в миллиметрах и обычно упоминается где-нибудь в свободном тексте. Я могу определить размеры в миллиметрах, используя регулярные выражения, однако не все они будут соответствовать размеру опухоли, который мне нужен. Также можно было бы дополнительно упомянуть опухоль in-situ и ее размер, в то время как мне нужен только размер инвазивного компонента опухоли. Оба могут быть упомянуты в одном предложении.
Итак, в основном мне нужна модель НЛП, чтобы решать для каждого данного измерения, которое было размещено в свободном тексте с использованием регулярных выражений, является ли размер опухоли, который я ищу. Или, чтобы выразить это в более технических терминах, мне нужно классифицировать токен (например, "20 мм") на основе его контекста в отчете.
Поскольку это не стандартная проблема классификации текста, я не уверен, что лучше всего подходит и как я могу использовать BERT и тому подобное для этой цели.
Я могу думать о двух возможных подходах:
NER: укажите диапазон размеров инвазивной опухоли в тексте и обучите модель NER определять правильное измерение как объект. У меня такое чувство, что это может быть сложно, когда нужно рассматривать более одного предложения за раз.
Textcat: замените рассматриваемый токен токеном-заполнителем из словаря BERT (например, "20 мм" -> "[unused001]") и классифицируйте предложение, включая предыдущее и следующее предложения, чтобы предоставить больше контекста. Я бы заменил только одно измерение за раз, чтобы модель могла сосредоточиться на одном измерении в случае, если их несколько.
Может быть и другой способ? Кто-нибудь делал что-нибудь подобное и может поделиться своим опытом?