Я работаю над двумя NLP-проектами в Python, и у них есть аналогичная задача для извлечения значений и операторов сравнения из предложений вроде:
"... greater than $10 ... ",
"... weight not more than 200lbs ...",
"... height in 5-7 feets ...",
"... faster than 30 seconds ... "
Я видел два разных способа решения этой проблемы: один использовал очень сложные регулярные выражения, а один использовал NER (и некоторые регулярные выражения тоже).
Как я могу анализировать значения из таких предложений? Я предполагаю, что это общая задача в НЛП.
Желаемый результат будет примерно таким:
Ввод:
"больше $10"
Вывод:
{'value': 10, 'unit': 'dollar', 'relation': 'gt', 'position': 3}