Как распознавать числа с плавающей точкой в тексте?

столкнулся с проблемой. Я делаю голосового ассистента и мне нужно распозновать числа с плавающей точкой в команде.

Текст у меня сохраняется в списке. Например пользователь сказал: "Пять целых шесть десятых". В коде сохраниться список: ["пять", "целых", "шесть", "десятых"].

И вот это мне нужно перевести в вид: 5.6.

Как это сделать я не понимаю. Помогите пожалуйста.


Ответы (1 шт):

Автор решения: Max Watson

Можете попробовать использовать библиотек text2num. Думаю там это предусмотрели. https://github.com/seriyps/ru_number_to_text

from text_to_num import text2num

def floatWrodrs(string):
    # Объеденям слова из списк
    s = ' '.join(string)

    # Передаем строку в библиотеку text2num
    num = text2num(s, "ru")

    # Получаем ответ 
    print (num)

floatWrodrs(["пять", "целых", "шесть", "десятых"])
→ Ссылка