如何检测文本的数值?

时间:2018-11-27 21:49:02

标签: ruby text nlp sentiment-analysis

我们有用于调查问题的数据(例如,我们在1-5之间进行评分)应该是数字形式的。但是,我们发现响应中还包括

  • 重复5次
  • ❤️重复了4次
  • 太好了!
  • 四个
  • 3年半

我想要一种将用户响应转换为数值的方法。例如以上文字应分别翻译成5、4、5、4、3.5。显然,这不可能100%地起作用,因此我正在寻找使我超过80%的最佳解决方案(也许是文本分析方法)。

1 个答案:

答案 0 :(得分:0)

如果您只是想将这些特定的响应转换为数值,则可以通过函数中的一系列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. 有人可以输入恶意代码

您没有提供代码来显示您如何接受输入,因此我无法真正为您提供具体的解决方案,但是您可以在此处查看一些建议:Accept only numeric input

祝你项目顺利。