将语音转文本字符串解码为日期和时间

时间:2019-07-16 18:09:16

标签: android speech-recognition speech-to-text

在我的Android应用中,我要求用户说“何时”应触发某个动作。我得到了他的字词,即:

  • 明天十一点
  • 八月的第一季度八月

我想知道是否有一个API可以将这些字符串解码为类似的内容:

  • DateTime(“ 2019-07-17T11:00:00Z”);
  • DateTime(“ 2019-08-01T07:15:00Z”);

我能想象的唯一方法是让用户一次说一个值。 “说年”->解码,“说月”->解码等,但这将是糟糕的用户体验。

因为日期和时间是常见信息,所以我想有一个可用的API。 我进行了Google搜索,但一无所获-也许我使用了错误的关键字。

1 个答案:

答案 0 :(得分:4)

训练语音识别系统时,其输入除其他外,是文本,其中所有数字,日期,首字母缩写等都被强制转换为文本表示形式。例如,

  

“下午6:00在Ocean Dr”

将成为

  

“远洋航行下午六点”

此过程称为文本规范化。一些复杂的ASR系统(例如Google Cloud Speech-to-Text)将逆过程作为识别的最后一步,并提供您请求的功能,但是结果通常不稳定,并且高度依赖于上下文(无论好坏)同时)。我个人还没有听说过独立的反规范化 API或云服务。

相反,我建议看一下DialogflowWit.ai之类的实体识别服务。这些功能可以将语音或文本转换为结构化形式,其中日期,时间,货币等可以被识别并以机器可读形式返回给用户。