我正在遍历语音数据的数组列表以破译用户是否回答“是”或“否”。简单的嘿...
这是我必须检测包含“是”和“否”的不清楚的响应的初始检查。它工作得很好,但只是看着它,我知道我应该不好意思发布它,它可以大大简化!
if ((element.toString().startsWith("yes ")
|| element.toString().endsWith(" yes")
|| element.toString().contains(" yes "))
&& (element.toString().startsWith("no ")
|| element.toString().endsWith(" no")
|| element.toString().contains(" no "))) {
// I heard both yes and no - inform user I don't understand
我希望用户能够使用他们想要的任何自然语音来接受或拒绝,因此需要考虑出现在数组数据中的以下不太可能发生的情况:
- 是 否
- 继续
- 是的,敲门
- 昨天没有
- 昨天敲门
- 贝叶斯定理
我经历了很多正则表达式帖子和教程,但无论我做什么,我都找不到比发布的代码更好的解决方案。空白 [\\s] 在那里或 '|' 不是,我解决不了...
我提前感谢您的帮助!