НЛП: извлечение названий форм и размеров форм
Я начинающий НЛП. Я работаю над задачей, где мне нужно обработать текст для рисования фигур.
Я провел некоторое исследование и обнаружил, что tokensregex может быть подходящим вариантом.
Например
Текст: Не могли бы вы нарисовать равнобедренный треугольник с высотой 150 и основанием 100.
Здесь мой подход - написать правило tokensregex для извлечения имени и размеров фигуры. Как только я получу эти два данных, я нарисую извлеченную форму с заданными размерами.
Правильный ли мой выбор использования tokensregex?
Или есть какой-то другой способ сделать это умно?
2 ответа
Учитывая четко определенные границы вашей проблемы, Tokensregex может быть правильным решением. Вы можете потратить некоторое время на созревание. Но это должно быть предпочтительным способом. Но прежде, чем вы завершите свой подход, я предлагаю вам сравнить его с некоторыми методами глубокого анализа. Вот то, что вы могли бы получить, что вы могли бы объединить с некоторым словарем известных форм и написать логику извлечения.
(ROOT
(SQ (MD Could)
(NP (PRP you))
(VP (VB please)
(VP (VB draw)
(NP (DT an) (NNP Isosceles) (NN triangle))
(PP (IN with)
(NP
(NP
(NP (DT an) (NN altitude))
(PP (IN of)
(NP (CD 150))))
(CC and)
(NP
(NP (DT a) (NN base))
(PP (IN of)
(NP (CD 100))))))))
(. .)))
Здесь вы получаете готовые куски высоты - 150 и базы - 100. Посмотрите, поможет ли это.
Нет правильного способа сделать то, что вы просите. Если все ваши предложения такие же, как в примере, то основанный на правилах подход с разбором зависимостей выглядит как решение, в котором правила идентифицируют атрибуты и значения, а разбор зависимостей - отношения между ними.
Более формально, семантический анализ должен помочь в этом случае