Я нашел решение, однако предлагаю не использовать его. Теоретически это работает нормально, но на практике понимание естественного языка все портит. Вы получите названия продуктов, разделенные на два поля и тому подобное. Например. Coca Cola и Pepsi Cola, скорее всего, будут разделены на две ценности, которые не являются полезными. Также маловероятно, что ваши пользователи все равно будут использовать юниты и считать.
Решение - просто проверить индексы слов. Возьмите исходные данные и разделите их по каждому названию продукта, если часть перед именем продукта содержит «следующую» единицу или счетчик, то вы обнаружите, что эти значения принадлежат друг другу. Имейте в виду, что диалоги могут подсчитать в словах, таких как «один», вы должны проверить это тоже.