Как определить числовое значение текста? - PullRequest
0 голосов
/ 28 ноября 2018

У нас есть данные для опроса (например, оцените нас между 1-5), который должен быть числовым.Однако мы находим, что ответ также включает

  • ?, повторенный 5 раз
  • ❤️, повторенный 4 раза
  • Отлично!
  • четыре
  • 3 с половиной

Я бы хотел превратить ответ пользователя в числовое значение.например, текст выше должен переводиться в 5, 4, 5, 4, 3,5 соответственно.Очевидно, что это не будет работать 100% времени, поэтому я ищу оптимальное решение (возможно, подход анализа текста), которое принесет мне более 80%.

1 Ответ

0 голосов
/ 28 ноября 2018

Если вы хотите превратить НАСТОЯЩИЕ СПЕЦИАЛЬНЫЕ ответы в числовые значения, вы можете передать их через серию операторов if в функции:

    def inputToNumber(string)
        #thumbs up emoji
        if string == "\u{1f44d}"
            return 5
        #the word four
        elsif string == "four"
            return 4
        #etc., etc. with if statements for your other cases
        end
    end

Но для вас может иметь смыслдля начала разрешите только числовые ответы, потому что:

  1. Вы не можете предсказать каждый возможный письменный ответ
  2. Кто-то может ввести вредоносный код

Вы не сделалиНе предоставьте свой код, чтобы показать, как вы принимаете ввод, поэтому я не могу предложить вам конкретные решения, но вы можете посмотреть здесь некоторые предложения: Принимать только числовой ввод

Удачис вашим проектом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...