我正在构建 Alexa 技能,我有一个名为“名称”的插槽,我想在其中获取名称。我想在数据库中找到匹配的名称。但是假设我在数据库中有一个名字“Alex Baumgartner”。但是 Alexa 在“Alex Baugartner”插槽中返回。
显然,它不完全匹配,但它以 0.95 的概率匹配。我如何检查这个概率或以某种方式验证语音输入是否与数据库记录匹配?
是否有在线服务、用于检查我应该使用的匹配词的概率的工具或算法,或者是否有其他方法?
我正在构建 Alexa 技能,我有一个名为“名称”的插槽,我想在其中获取名称。我想在数据库中找到匹配的名称。但是假设我在数据库中有一个名字“Alex Baumgartner”。但是 Alexa 在“Alex Baugartner”插槽中返回。
显然,它不完全匹配,但它以 0.95 的概率匹配。我如何检查这个概率或以某种方式验证语音输入是否与数据库记录匹配?
是否有在线服务、用于检查我应该使用的匹配词的概率的工具或算法,或者是否有其他方法?
不是特定于 Alexa 的答案,而是查看您的平台和/或数据库中对 soundex 和类似语音散列系统的支持。例如,MySQL 数据库有一个 soundex() 函数可用于此目的。BMPM 是另一种由 Apache Solr/Lucene 以及许多其他算法支持的开箱即用算法。
https://lucene.apache.org/solr/guide/6_6/phonetic-matching.html